VictorAP93 / OAuth2Token
该包提供了一种简单的方法来使用OAuth 2.0协议获取授权令牌
0.1.7
2022-08-30 22:23 UTC
Requires
- php: >=5.4
- guzzlehttp/guzzle: ^5.3
README
用法
<?php use Dotenv\Dotenv; use victorap93\OAuth2Token\Microsoft; require_once 'vendor/autoload.php'; $dotenv = Dotenv::create(__DIR__); $dotenv->load(); // by Authorization code if (!Microsoft\Authorize::getCode()) { $authorize = new Microsoft\Authorize($_ENV['TENANT_ID'], $_ENV['CLIENT_ID']); $refresh_token = $authorize->redirect(['IMAP.AccessAsUser.All', 'offline_access'], 'https://'); } else { $grant_type = Microsoft\GrantType::authorization_code(Microsoft\Authorize::getCode(), 'https://'); $client = new Microsoft\Token($_ENV['TENANT_ID'], $_ENV['CLIENT_ID'], $_ENV['CLIENT_SECRET'], $grant_type); $client->getAccessToken(['IMAP.AccessAsUser.All', 'offline_access']); }
<?php use Dotenv\Dotenv; use victorap93\OAuth2Token\Microsoft; require_once 'vendor/autoload.php'; $dotenv = Dotenv::create(__DIR__); $dotenv->load(); // by Password $grant_type = Microsoft\GrantType::password($_ENV['USERNAME'], $_ENV['PASSWORD']); $client = new Microsoft\Client($_ENV['TENANT_ID'], $_ENV['CLIENT_ID'], $_ENV['CLIENT_SECRET'], $grant_type); $token = $client->getToken(['IMAP.AccessAsUser.All', 'offline_access']); $grant_type = Microsoft\GrantType::refresh_token($token->refresh_token); $client = new Microsoft\Client($_ENV['TENANT_ID'], $_ENV['CLIENT_ID'], $_ENV['CLIENT_SECRET'], $grant_type); $client->getToken(['IMAP.AccessAsUser.All', 'offline_access']);