如何解决我无法通过 requireTokenSilent @azure/msal-browser 获取 accessToken
我最近尝试使用“acquireTokenSilent Flow”从 AzureADB2C 获取 accessToken。 我正在使用 @azure/msal-browser,我的应用程序是 React。 所以,现在我的代码是这样的。
const getTokenRedirect = async (account,apiConfig) => {
publicClient.acquireTokenSilent({
scopes: apiConfig.scopes,account: account,authority: apiConfig.authority,}).then(tokenResponse => {
console.log(tokenResponse);
setAccessToken(tokenResponse.accessToken);
}).catch(async (error) => {
console.log(error);
});
}
然后这个代码响应刷新令牌,而不是accessToken。 我不知道为什么acquireTokenSilent 没有响应accessToken。 我确实从 ADB2C 获得了 idToken。另一个示例(msal.js vanilla Sample)获得了 accessToken。 所以我认为B2C设置是正确的。我的代码有一些问题。
有没有人知道这样的解决方案。
解决方法
这是msal-browser版本导致的,2.1.0以后的版本无法返回accessToken。
它是 B2C 服务的一个 known issue 当前 tracked here,Microsoft 应该在未来修复它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。