webchemistry/oauth2-seznam
最新稳定版本:v1.0.0
Composer 安装命令:
composer require webchemistry/oauth2-seznam
包简介
Seznam Provider for the OAuth 2.0 Client
README 文档
README
This package provides Seznam OAuth 2.0 support for the PHP League's OAuth 2.0 Client.
Installation
To install, use composer:
composer require webchemistry/oauth2-seznam
Usage
Authorization Code Flow
require __DIR__ . '/vendor/autoload.php'; use WebChemistry\OAuth2\Client\Seznam\Provider\Seznam; session_start(); // Remove if session.auto_start=1 in php.ini $provider = new Seznam([ 'clientId' => '{seznam-client-id}', 'clientSecret' => '{seznam-client-secret}', 'redirectUri' => 'https://example.com/callback-url', ]); if (!empty($_GET['error'])) { // Got an error, probably user denied access exit('Got error: ' . htmlspecialchars($_GET['error'], ENT_QUOTES, 'UTF-8')); } elseif (empty($_GET['code'])) { // If we don't have an authorization code then get one $authUrl = $provider->getAuthorizationUrl(); $_SESSION['oauth2state'] = $provider->getState(); header('Location: ' . $authUrl); exit; } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) { // State is invalid, possible CSRF attack in progress unset($_SESSION['oauth2state']); exit('Invalid state'); } else { // Try to get an access token (using the authorization code grant) $token = $provider->getAccessToken('authorization_code', [ 'code' => $_GET['code'] ]); // Optional: Now you have a token you can look up a users profile data try { // We got an access token, let's now get the owner details $ownerDetails = $provider->getResourceOwner($token); // Use these details to create a new profile printf('Hello %s!', $ownerDetails->getFirstName()); } catch (Exception $e) { // Failed to get user details exit('Something went wrong: ' . $e->getMessage()); } // Use this to interact with an API on the users behalf echo $token->getToken(); // Use this to get a new access token if the old one expires echo $token->getRefreshToken(); // Unix timestamp at which the access token expires echo $token->getExpires(); }
统计信息
- 总下载量: 24.05k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-11-14