bybrand / oauth2-microsoft
Microsoft Provider for PHP League's OAuth 2.0 Client
v1.0.2
2026-03-23 23:08 UTC
Requires
- league/oauth2-client: ^2.7
Requires (Dev)
- phpunit/phpunit: ^11.2
This package is auto-updated.
Last update: 2026-03-23 23:09:04 UTC
README
This package provides Microsoft OAuth 2.0 support (v2.0 endpoints) for the PHP League's OAuth 2.0 Client.
Installation
composer require bybrand/oauth2-microsoft
Usage
use Bybrand\OAuth2\Client\Provider\Microsoft; use League\OAuth2\Client\Provider\Exception\IdentityProviderException; $provider = new Microsoft([ 'clientId' => 'your-client-id', 'clientSecret' => 'your-client-secret', 'redirectUri' => 'your-redirect-uri', 'tenant' => 'common', // common | organizations | consumers | tenant-id ]); $params = $_GET; if (!isset($params['code']) || empty($params['code'])) { $authorizationUrl = $provider->getAuthorizationUrl(); $_SESSION['oauth2state'] = $provider->getState(); header('Location: ' . $authorizationUrl); exit; } if (empty($params['state']) || ($params['state'] !== $_SESSION['oauth2state'])) { unset($_SESSION['oauth2state']); exit('Invalid state'); } try { $token = $provider->getAccessToken('authorization_code', [ 'code' => $params['code'] ]); $user = $provider->getResourceOwner($token); $id = $user->getId(); $name = $user->getName(); $email = $user->getEmail(); } catch (IdentityProviderException $e) { // Handle token/user request errors. }
License
MIT.