Microsoft Entra ID Setup¶
1. Register the Application¶
In Azure Portal > Microsoft Entra ID > App registrations:
Name: Adsify API
Supported account types: Single tenant (or as needed)
2. Configure API Permissions¶
Expose an API with scopes: ads:read, ads:write, ads:lifecycle
3. Create App Roles¶
In the app registration, define roles: viewer, operator, admin
Assign roles to users/groups via Enterprise Applications.
4. Configure Adsify¶
{
"Authentication": {
"Authority": "https://login.microsoftonline.com/{tenant-id}/v2.0",
"Audience": "api://{client-id}",
"RequireHttpsMetadata": true,
"RoleClaimType": "roles",
"ValidIssuers": [
"https://login.microsoftonline.com/{tenant-id}/v2.0",
"https://sts.windows.net/{tenant-id}/"
]
}
}
Entra ID places roles in a top-level roles array claim. Set RoleClaimType to roles.
5. Machine Client (Client Credentials)¶
Create a client secret under Certificates & secrets. AI agents use:
curl -X POST "https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token" \
-d "client_id={id}&client_secret={secret}&scope=api://{client-id}/.default&grant_type=client_credentials"