schibsted / oauth2-schibsted
0.0.1
2019-10-16 08:51 UTC
Requires
- league/oauth2-client: ^2.4
Requires (Dev)
- phpunit/phpunit: ^8.4
This package is auto-updated.
Last update: 2020-09-11 13:58:43 UTC
README
此包为 PHP League 的 OAuth 2.0 Client 提供Schibsted OAuth 2.0 支持。
安装
要安装,请使用 composer
composer require schibsted/oauth2-schibsted
使用方法
使用方法与 The League 的 OAuth 客户端相同,使用 Schibsted\OAuth2\Client\Provider\Schibsted
作为提供者。
授权码流程
您需要向提供者提供一些参数
- 域名
- 描述:要使用的 Schibsted 账户域名
- API版本
- 描述:Schibsted 账户 API 版本,默认为 2
- 客户端ID
- 描述:由提供者分配给您的客户端 ID
- 客户端密钥
- 描述:由提供者分配给您的客户端密码
- 重定向URI
$provider = new Schibsted\OAuth2\Client\Provider\Schibsted([ 'domain' => '{domain}', 'clientId' => '{schibsted-client-id}', 'clientSecret' => '{schibsted-client-secret}', 'redirectUri' => 'https://example.com/callback-url' ]); // Fetch a client token $token = $provider->getAccessToken('client_credentials'); // Fetch a user token from authorization code $token = $provider->getAccessToken('authorization_code', [ 'code' => $_GET['code'] ]); // Fetch Resource owner from user token $user = $provider->getResourceOwner($token); // Make an API request to Schibsted account $req = $provider->getAuthenticatedRequest('GET', 'user/1', $token); $res = $provider->getParsedResponse($req); // or to your own service, using the Schibsted account token that you can introspect locally $req = $provider->getAuthenticatedRequest('GET', 'https://myapi.com/resource/1', $token); $res = $provider->getParsedResponse($req); // Refreshing a token if ($token->hasExpired()) { $token = $provider->getAccessToken('refresh_token', [ 'refresh_token' => $token->getRefreshToken() ]); }