@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が必要です