Skip to content

Commit e3ab219

Browse files
DonLeeTejasri-Microsoft
authored andcommitted
fix(auth): accept both v1 (api://guid) and v2 (guid) audiences
Default app registrations have requestedAccessTokenVersion=null, which means Entra issues v1 access tokens with aud='api://<clientId>'. EasyAuth was configured with allowedAudiences=['<clientId>'] (bare GUID only), so every Web->API call failed audience validation and returned 401. Include both forms so the script works regardless of the app reg's accessTokenAcceptedVersion setting.
1 parent 814d054 commit e3ab219

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

infra/scripts/configure_auth.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ function Patch-AuthConfig($CaName, $ClientId, $AddWebAllowed) {
254254
if (-not $aad.registration) { $aad | Add-Member -MemberType NoteProperty -Name registration -Value (@{}) }
255255
$aad.registration.openIdIssuer = "https://login.microsoftonline.com/$TenantId/v2.0"
256256
if (-not $aad.validation) { $aad | Add-Member -MemberType NoteProperty -Name validation -Value (@{}) }
257-
$aad.validation.allowedAudiences = @($ClientId)
257+
$aad.validation.allowedAudiences = @($ClientId, "api://$ClientId")
258258
if (-not $aad.validation.defaultAuthorizationPolicy) { $aad.validation | Add-Member -MemberType NoteProperty -Name defaultAuthorizationPolicy -Value (@{}) }
259259
$policy = $aad.validation.defaultAuthorizationPolicy
260260
$allowed = @()

infra/scripts/configure_auth.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ aad = idp.setdefault('azureActiveDirectory', {})
342342
reg = aad.setdefault('registration', {})
343343
reg['openIdIssuer'] = f\"https://login.microsoftonline.com/{os.environ['TENANT_ID']}/v2.0\"
344344
val = aad.setdefault('validation', {})
345-
val['allowedAudiences'] = [os.environ['CLIENT_ID']]
345+
val['allowedAudiences'] = [os.environ['CLIENT_ID'], 'api://' + os.environ['CLIENT_ID']]
346346
policy = val.setdefault('defaultAuthorizationPolicy', {})
347347
allowed = set(policy.get('allowedApplications') or [])
348348
if os.environ['ADD_WEB'] == 'true':

0 commit comments

Comments
 (0)