Login
Authenticate with an Azure AD ID token. The Azure AD token is validated, and if the user exists in the system and is active, an application JWT is returned. If the user belongs to multiple active tenants, returns ``requires_tenant_selection: true`` with a list of tenants. The frontend then calls ``/login/azure/select-tenant`` with the chosen tenant_id to complete login. On first login, the user's Azure AD identity (tid + oid) is bound to their app user record. Rate limited: 10 requests per minute per IP.
Authenticate with an Azure AD ID token.
The Azure AD token is validated, and if the user exists in the system and is active, an application JWT is returned.
If the user belongs to multiple active tenants, returns
requires_tenant_selection: true with a list of tenants.
The frontend then calls /login/azure/select-tenant with the
chosen tenant_id to complete login.
On first login, the user's Azure AD identity (tid + oid) is bound to their app user record.
Rate limited: 10 requests per minute per IP.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://loading/api/v1/auth/login" \ -H "Content-Type: application/json" \ -d '{ "azure_token": "stringstringstringstringstringstringstringstringst" }'{
"access_token": "string",
"expires_in": 0,
"requires_tenant_selection": false,
"tenants": [
{
"tenant_id": "string",
"tenant_name": "string"
}
],
"token_type": "Bearer",
"user": {
"email": "string",
"email_verified": true,
"full_name": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"is_azure_bound": true,
"role": "super_admin",
"tenant_activated_at": "2019-08-24T14:15:22Z"
}
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}