我正在使用带有角度4 app的oidc-client 1.3.0。初始身份验证(signinRedirect)工作得很好。但是,当令牌过期时,它会加载silent-renew.js并尝试执行:
Oidc.UserManager().signinSilentCallback();
收到错误(或某种程度的消息),说“用户未在存储中找到”。因此,用户无法使用新令牌信息进行更新。
当我进入oidc-client时,我可以看到它完成了Promise.resolve(),我希望它会发送给用户。
来自UserManager.js,此处的用户返回未定义:
signinSilentCallback(url) {
Log.debug("UserManager.signinSilentCallback");
return this._signinCallback(url, this._iframeNavigator).then(user => {
if (user) {
if (user.profile && user.profile.sub) {
Log.info("signinSilentCallback successful, signed in sub: ", user.profile.sub);
}
else {
Log.info("signinSilentCallback successful");
}
}
return user;
});
从解决Promise的IFrameNavigator.js开始:
callback(url) {
Log.debug("IFrameNavigator.callback");
try {
IFrameWindow.notifyParent(url);
return Promise.resolve();
}
catch (e) {
return Promise.reject(e);
}
}
如果你已经在你的angular4应用程序中使用它(或者,我不挑剔,其他应用程序),请帮助我:))
答案 0 :(得分:1)
看起来我正在使用此消息关注红鲱鱼,"用户未在存储中找到#34;因为那里确实没有问题。我遇到的问题是更新授权标头以包含续订令牌。一旦我明白了,一切都很开心。