UNPKG

azure-ad-auth-kit

Version:

Microsoft Azure AD Auth Kit (OAuth2 login, no config)

93 lines (64 loc) β€’ 2.46 kB
# Azure AD Auth Kit Easily integrate Microsoft Azure Active Directory login into your Node.js apps β€” with full support for **OAuth login** and **SSO silent login**. ## πŸ“¦ Installation ```bash npm install azure-ad-auth-kit ``` After installation, a folder `sso-oauth/` will appear in your project with working backend code. --- ## πŸ“ What’s Included | 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/` | --- ## πŸ” Available Routes | 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 | --- ## βš™οΈ Setup 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** --- ## ▢️ Run the Sample ```bash node sso-oauth/sample/sample.js ``` Then test in browser: - `http://localhost:3000/login` β†’ OAuth with account picker - `http://localhost:3000/silent-login` β†’ SSO (silent auth) - After login β†’ JSON with JWT, graphToken and user --- ## πŸ§ͺ Sample JSON Response ```json { "message": "βœ… Login Successful", "from": "OAuth", "token": "eyJhbGci...", "graphToken": "eyJ0eXAi...", "user": { "email": "awais@x-age.ai", "name": "Awais", "id": "c266d1d5-6c79-4028-a93e-1fc10bcb6866" } } ``` --- ## πŸ“„ License MIT Β© Awais Aslam