Azure AD B2C continua a fornire v1 token non v2 gettoni

0

Domanda

Azure AD B2C mantiene il rilascio v1 token anche se v2 gettoni sono configurati nel manifesto della SPA app registrato:

{
    "id": "XXX",
    "acceptMappedClaims": null,
    "accessTokenAcceptedVersion": 2,
    "addIns": [],
    "allowPublicClient": null,
    ...
}

Il client utilizza @azure/msal-angolare v2.0.5 (insieme con @azure/msal-browser v2.19.0) per richiedere il token tramite un normale MSAL Interceptor:

export const protectedResourceMap: Map<string, Array<string>> = new Map([
  [
    urlJoin(configs.apiUri, 'screen'),
    [configs.authConfig.scope.screen_access],
  ],
]);

@NgModule({
  imports: [
    MsalModule.forRoot(
      new PublicClientApplication({
        auth: {
          clientId: '...',
          authority: 'https://login.microsoftonline.com/XXX.onmicrosoft.com',
          postLogoutRedirectUri: '.../logout',
          navigateToLoginRequestUrl: true,
          redirectUri: '.../auth',
        },
        cache: {
          cacheLocation: 'sessionStorage',
        },
      }),
      {
        interactionType: InteractionType.Redirect, // Popup or Redirect
        loginFailedRoute: '/login-failed'
      },
      {
        interactionType: InteractionType.Redirect,  // Popup or Redirect
        protectedResourceMap,
      })
      ...

Questo sembra OK, soprattutto la "accessTokenAcceptedVersion": 2.

Che cosa potrebbe essere la causa principale del token ancora in fase di v1?

{
  "aud": "00000003-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "iss": "https://sts.windows.net/7dcXX-XXXXX.../",
  ...
  "ver": "1.0",
  ...
}

Puntatori sarebbe molto apprezzato.

azure-ad-b2c jwt msal-angular
2021-11-23 21:56:05
1

Migliore risposta

1

Azure AD B2C sempre e solo utilizzato il finale quando fare il OIDC le richieste di Autenticazione con la v2.0, v1.0 non è mai esistito. Così ha sempre rilasciato v1.0 token (v2 è la prima e unica versione). Questo è del tutto normale.

Solo Azure AD aveva v1.0 e v2.0 OIDC endpoint, e quindi le mappe in base al largo di accessTokenAcceptedVersion.

Non c'è bisogno di pasticciare con questa proprietà nell'AAD B2C applicazione registrazioni a meno che non si dispone di un SAML relying party.

2021-11-24 12:32:22

Avete qualche idea, perché il token risultante è https://sts.windows.net/7dcXX-XXXXX.../ come un emittente, invece di "login.microsoftonline.com/XXX..."? O devo essere convalida B2C gettoni contro sts.windows.net?
Windowlicker

Perché la vostra autorità è impostato come account di accesso.msonline. È necessario utilizzare config come questo in authConfig.js esempio.
Jas Suri - MSFT

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................