Microsoft Azure AD Auth Kit (OAuth2 login, no config)
npm install azure-ad-auth-kitEasily integrate Microsoft Azure Active Directory login into your Node.js apps β with full support for OAuth login and SSO silent login.
``bash`
npm install azure-ad-auth-kit
After installation, a folder sso-oauth/ will appear in your project with working backend code.
---
| File | Description |
|-------------------------------|---------------------------------------------|
| sample/sample.js | Express server for login + token exchange |lib/azureAdAuth.js
| | Microsoft token and profile logic |postinstall.js
| | Auto-copies files to sso-oauth/ |
---
| Endpoint | Purpose |
|--------------------|-------------------------------------------------|
| /login | Microsoft OAuth2 login with account picker |/silent-login
| | Silent login (SSO) if user session is active |/redirect
| | Handles code exchange, returns user+tokens |/profile
| | Returns user profile using access tokens |
---
Open sso-oauth/sample/sample.js and configure this block at the top:
`js`
const config = {
TENANT_ID: "your-tenant-id",
CLIENT_ID: "your-client-id",
CLIENT_SECRET: "your-client-secret",
REDIRECT_URI: "http://localhost:3000/redirect",
JWT_SECRET: "your-super-secret",
FRONTEND_DASHBOARD_URL: "http://localhost:5173/dashboard" // Optional, not used in latest version
};
> π‘ You can get these values from Azure β App Registrations β Your App β Overview & Certificates
Also make sure http://localhost:3000/redirect is added in Azure β Authentication β Redirect URIs
---
`bash`
node sso-oauth/sample/sample.js
Then test in browser:
- http://localhost:3000/login β OAuth with account pickerhttp://localhost:3000/silent-login
- β SSO (silent auth)
- After login β JSON with JWT, graphToken and user
---
`json``
{
"message": "β
Login Successful",
"from": "OAuth",
"token": "eyJhbGci...",
"graphToken": "eyJ0eXAi...",
"user": {
"email": "awais@x-age.ai",
"name": "Awais",
"id": "c266d1d5-6c79-4028-a93e-1fc10bcb6866"
}
}
---
MIT Β© Awais Aslam