如何解决Microsoft单点登录-react-aad-msal库-无法获取访问令牌
我正在开发一个带有React前端和.NET CORE 3.1后端的Web应用程序,并被要求添加Azure AD单一登录功能。我正在使用react-aad-msal库(https://www.npmjs.com/package/react-aad-msal)。我正在调用MsalAuthProvider.getAccessToken()并收到此错误:
Can't construct an AccessTokenResponse from a AuthResponse that has a token type of "id_token".
有人可以帮助我吗?
有人吗?顺便说一句。 getAccessToken()实际上在标准msal库中,如果有帮助的话。
解决方法
我自己找到了一个解决方案,方法是进入packages.json并降低“ dependencies”中“ msal”的版本号,如下所示:
"msal": "~1.3.0",
更改 authProvider 中的范围。
export const authProvider = new MsalAuthProvider(
{
auth: {
authority: 'https://login.microsoftonline.com/5555555-5555-5555-5555-555555555555',clientId: 'AAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA',postLogoutRedirectUri: 'http://localhost:3000/signin',redirectUri: 'http://localhost:3000/signin',validateAuthority: true,navigateToLoginRequestUrl: false
},system: {
logger: new Logger(
(logLevel,message,containsPii) => {
console.log("[MSAL]",message);
},{
level: LogLevel.Verbose,piiLoggingEnabled: false
}
)
},cache: {
cacheLocation: "sessionStorage",storeAuthStateInCookie: true
}
},{
scopes: ["openid","profile","user.read"] // <<<-----------|
},{
loginType: LoginType.Popup,tokenRefreshUri: window.location.origin + "/auth.html"
}
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。