ashwini-gt / laravel-azure-socialite
Azure SSO package for Laravel using Socialite
Package info
github.com/ashwini-gt/laravel-azure-socialite
pkg:composer/ashwini-gt/laravel-azure-socialite
Requires
- php: ^8.1
- laravel/framework: ^9.0|^10.0|^11.0
- laravel/socialite: ^5.30
- socialiteproviders/microsoft-azure: ^5.0
README
Laravel Azure Socialite
Azure SSO package for Laravel using Socialite and Microsoft Azure AD.
Features Microsoft Azure AD Login Laravel Socialite Integration Route Middleware (azure.sso) Automatic Azure Login Redirect Azure Callback Handling Session-Based Authentication Laravel 9, 10, and 11 Support Package Auto Discovery Installation
Install the package using Composer:
composer require ashwini-gt/laravel-azure-socialite
Install required dependencies if not already installed:
composer require laravel/socialite composer require socialiteproviders/microsoft-azure
Publish Configuration
Publish the configuration file:
php artisan vendor:publish --tag=config
This will create:
config/azure.php
Environment Configuration
Add the following values to your .env file:
AZURE_TENANT_ID= AZURE_CLIENT_ID= AZURE_CLIENT_SECRET= AZURE_REDIRECT_URI=http://localhost:8000/azure/callback
Example:
AZURE_TENANT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx AZURE_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx AZURE_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxx AZURE_REDIRECT_URI=http://localhost:8000/azure/callback
Laravel Services Configuration
Add Azure configuration in:
config/services.php
'azure' => [ 'client_id' => env('AZURE_CLIENT_ID'), 'client_secret' => env('AZURE_CLIENT_SECRET'), 'redirect' => env('AZURE_REDIRECT_URI'), 'tenant' => env('AZURE_TENANT_ID'), ],
Middleware Usage
Protect routes with Azure SSO:
Route::middleware(['azure.sso'])->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
});
});
Available Routes
The package automatically registers:
GET /azure/login GET /azure/callback
Login Flow User Accesses Protected Route | V Azure Middleware | V /azure/login | V Microsoft Login | V /azure/callback | V Session Created | V Redirect Home
Session Variables
After successful authentication:
session('azure_user'); session('azure_token');
Example:
$user = session('azure_user');
$email = $user->email; $name = $user->name;
Route Examples
Manual login:
{{ route('azure.login') }} Login with Microsoft
Check user:
if(session()->has('azure_user')){ // Authenticated }
Supported Laravel Versions Laravel Version Supported9.x ✅ 10.x ✅ 11.x ✅ Requirements PHP 8.1+ Laravel 9+ Laravel Socialite Microsoft Azure App Registration
Azure App Registration Settings
In Azure Portal:
Redirect URI http://localhost:8000/azure/callback
Production Example:
https://your-domain.com/azure/callback
API Permissions User.Read
Grant Admin Consent after adding permissions.
Troubleshooting Driver [azure] not supported
Install:
composer require socialiteproviders/microsoft-azure
Clear cache:
php artisan optimize:clear
Invalid Redirect URI
Verify:
AZURE_REDIRECT_URI=
matches exactly with Azure Portal Redirect URI.
Route Not Found
Verify routes are loaded:
php artisan route:list
Expected:
azure.login azure.callback
License
This package is open-sourced software licensed under the MIT License.
Author
Ashwini Bind
GitHub:
Package: