killmails / oauth2-eve
EVE Online OAuth 2.0 客户端提供者,适用于 PHP League 的 OAuth2-Client
v2.0.2
2024-03-04 01:32 UTC
Requires
- php: ^8.2
- firebase/php-jwt: ^6.9
- league/oauth2-client: ^2.4
Requires (Dev)
- pestphp/pest: ^2.33
- strobotti/php-jwk: ^1.4
README
此软件包为 PHP League 的 OAuth 2.0 客户端 提供EVE Online OAuth 2.0 支持。
安装
要安装,请使用 composer
composer require killmails/oauth2-eve:^2.0
用法
用法与 The League 的 OAuth 客户端相同,使用 \Killmails\OAuth2\Client\Provider\EveOnline 作为提供者。
授权码流
use Killmails\OAuth2\Client\Provider\EveOnline; $sso = new EveOnline([ 'clientId' => '{eveonline-client-id}', 'clientSecret' => '{eveonline-client-secret}', 'redirectUri' => 'https://example.com/callback-url', ]); if (empty($_GET['code'])) { $url = $sso->getAuthorizationUrl(); $_SESSION['state'] = $sso->getState(); header('Location: '.$authUrl); } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['state'])) { unset($_SESSION['state']); } else { $token = $sso->getAccessToken('authorization_code', [ 'code' => $_GET['code'] ]); $user = $sso->getResourceOwner($token); printf('Hello, %s (%d)', $user->getName(), $user->getId()); }
管理作用域
在创建您的 EVE Online 授权 URL 时,您可以指定应用程序可能授权的状态和作用域。
$options = [ 'scope' => ['esi-killmails.read_killmails.v1'] ]; $url = $sso->getAuthorizationUrl($options); // ...
如果都没有定义,提供者将使用内部默认值。
测试
composer test
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。