GitHubClientConfig.php (1582B)
1 <?php 2 3 /** 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 namespace fkooman\OAuth\Client; 19 20 use fkooman\OAuth\Client\Exception\ClientConfigException; 21 22 class GitHubClientConfig extends ClientConfig implements ClientConfigInterface 23 { 24 public function __construct(array $data) 25 { 26 foreach (array('client_id', 'client_secret') as $key) { 27 if (!isset($data[$key])) { 28 throw new ClientConfigException(sprintf("missing field '%s'", $key)); 29 } 30 } 31 32 $clientData = array( 33 "client_id" => $data['client_id'], 34 "client_secret" => $data['client_secret'], 35 "authorize_endpoint" => "https://github.com/login/oauth/authorize", 36 "token_endpoint" => "https://github.com/login/oauth/access_token", 37 "use_comma_separated_scope" => true, 38 "credentials_in_request_body" => true, 39 ); 40 parent::__construct($clientData); 41 } 42 }