Azure Login Flow
The Azure login endpoint initiates an OAuth 2.0 authorization flow with Microsoft Azure Active Directory. Upon successful authentication, the user is redirected to the dashboard with an active session containing Azure account details and subscriptions.Authentication Endpoint
Response
Redirects to Azure login page athttps://login.microsoftonline.com/{tenant_id} with authorization request.
Query Parameters (Auto-generated)
Azure application (client) ID from environment configuration
Callback URL:
{APP_BASE_URL}/getATokenRequested permissions:
https://management.azure.com/.defaultCallback Endpoint
Query Parameters
Authorization code returned by Azure AD
Response
Redirects tohttp://localhost:3000/dashboard after successful authentication.
Session Data Created
Azure management API access token
Error Responses
Error message when authentication fails
Authentication Flow Details
Step 1: Initiate Login
User navigates to/api/login/azure, which redirects to Azure AD authorization endpoint.
Example redirect URL:
Step 2: User Authenticates
User logs in with Azure credentials and grants permissions.Step 3: Callback Processing
Azure redirects back to/getAToken with authorization code:
- Exchange code for tokens using MSAL (Microsoft Authentication Library)
- Verify ID token and extract user claims
- Store user info in session (
session["user"],session["access_token"]) - Retrieve Azure subscriptions using Azure SDK:
- Create account object with provider info and subscriptions
- Update session accounts (replaces existing Azure account if same tenant)
- Redirect to dashboard at
http://localhost:3000/dashboard
Environment Configuration
The following environment variables must be configured:Azure Active Directory tenant ID
Azure application (client) ID
Azure application client secret
Base URL of the application for OAuth redirect URI
Code Reference
Implementation inbackend/auth/azure_auth.py:24-87
MSAL Application Setup: