1

@azure/msal-angular を使用して Azure Active Directory からユーザーを登録しようとしています。より正確には、次のチュートリアルを試しました

これらは私がプロジェクトに加えた変更です

export function MSALInstanceFactory(): IPublicClientApplication {
  return new PublicClientApplication({
    auth: {
      clientId: 'my_real_client_id,
      redirectUri: 'http://localhost:4200',
      authority: 'https://login.microsoftonline.com/my_real_tenant_id',
      postLogoutRedirectUri: '/'
    },
    cache: {
      cacheLocation: BrowserCacheLocation.LocalStorage,
      storeAuthStateInCookie: isIE, // set to true for IE 11
    },
    system: {
      loggerOptions: {
        loggerCallback,
        logLevel: LogLevel.Info,
        piiLoggingEnabled: false
      }
    }
  });
}

  export function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {
  const protectedResourceMap = new Map<string, Array<string>>();
  protectedResourceMap.set('https://graph.microsoft.com/v1.0/me', ['user.read']);
  protectedResourceMap.set('http://localhost:5000/', ['profile']);

  return {
    interactionType: InteractionType.Redirect,
    protectedResourceMap
  };
}

問題は、MsalInterceptor がV2を期待する API への要求の URL にV1トークンを追加することです。

Azure は accessTokenAcceptedVersion: 2にアクセスするように構成されています

必要に応じてさらに情報を提供できます

アップデート

私の場合、問題は指定されたスコープが原因でした .「user.read」「profile」の両方のAPIにはV1 accessTokenが必要です

4

1 に答える 1