Cla*_*y H 5 javascript reactjs azure-ad-msal
我在使MSAL(x)工作时遇到问题 - 登录弹出成功,但是当我尝试从id令牌中检索和访问令牌时acquireTokenSilent,它会导致应用程序重新加载(所有资源,每个开发工具网络选项卡),并抛出错误'令牌更新操作因超时而失败:null'.我搜索了相关的SO问题/谷歌,但没有找到类似的问题.疯狂的是,它在前几天工作并且刚刚停止 - 即使恢复到相同的代码也无法解决问题.
使用acquireTokenPopup在无声的错误处理程序显示一个弹出窗口,但不会允许登录使用相同的用户("我们不承认这个域名"),但显示正确的MS应用程序名称.这真让我抓狂.
相关代码(在React组件单击处理程序中):
onMSLogin() {
const { msLoginFailure } = this.props;
const userAgentApplication = this.userAgentApplication;
userAgentApplication.loginPopup(['user.read'])
.then(function () {
console.log('User login success');
const scopes = ['User.Read'];
userAgentApplication.acquireTokenSilent(scopes).then((accessToken) => {
console.log('Access token acquired (silent): ', accessToken);
this.getGraphData(accessToken);
}, (error) => {
console.error('Silent token fail: ', error);
userAgentApplication.acquireTokenPopup(scopes).then((accessToken) => {
console.log('Access token acquired (popup): ', accessToken);
});
})
}, function (error) {
// handle error
console.log('MS Login Failure: ', error);
if (msLoginFailure) msLoginFailure(error);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1252 次 |
| 最近记录: |