wishtreehkumar / azureadsso
Azure Active Directory SSO Login flow
dev-master
2022-11-21 09:56 UTC
Requires
- php: ^7.3|^8.0|^8.1
- illuminate/http: ^7.0|^8.0|^9.0
- illuminate/support: ^7.0|^8.0|^9.0
- phpseclib/phpseclib: 2.0.31
This package is auto-updated.
Last update: 2024-04-21 13:22:33 UTC
README
This package will help you easily implement the Azure Active Directory SSO Login and Graph API Access.
Installation Steps
composer require wishtreehkumar/azureadsso
To edit config file
php artisan vendor:publish --provider="Wishtreehkumar\Azureadsso\ServiceProvider" --tag="config"
How to use
Set .env
AZURE_AD_CLIENT_SECRET=--
AZURE_AD_CLIENT_ID=--
AZURE_AD_TENANT_ID=--
AZURE_AD_TENANT_NAME=--
AZURE_AD_POLICY_NAME=--
AZURE_AD_CALLBACK_URI=--
Generate Password
use Wishtreehkumar\Azureadsso\Facades\AzureAD;
$password = AzureAD::generatePassword();
Generate Login URL
- There are two type of Azure AD:
- b2c
- normal
$url = AzureAD::generateLoginUrl('b2c');
return redirect()->away($url);
Validate id_token in callback url
$azureAd = AzureAD::construct($request->id_token, 'b2c');
if ($azureAd->isAuthenticated()) {
$azurePayload = $azureAd->getPayload();
}
Call Graph API
$grapApi = AzureAD::graphApi($method, $endPoint, $body);
EG: For create B2C User:
$dataBody = [
'accountEnabled' => true,
'displayName' => "Your Company",
'identities' => [
[
'signInType' => 'emailAddress',
'issuer' => 'your_tenet.onmicrosoft.com',
'issuerAssignedId' => 'your_email@example.com',
],
],
'passwordProfile' => [
'password' => $password,
'forceChangePasswordNextSignIn' => false,
],
'passwordPolicies' => 'DisablePasswordExpiration',
];
$grapApi = AzureAD::graphApi('post', 'users', $dataBody);
dd($grapApi->object());