Я использую oidc-client 1.3.0 с приложением angular 4. Начальная аутентификация (signinRedirect) работает нормально. Но, когда токен истекает, он загружает silent-Renew.js и пытается сделать:
Oidc.UserManager().signinSilentCallback();
Выдается сообщение об ошибке (или сообщение некоторого уровня) «Пользователь не найден в хранилище». Следовательно, пользователь не получает обновленную информацию о новом токене.
Когда я вхожу в oidc-client, я вижу, что он завершается с помощью Promise.resolve (), куда я ожидал, что он отправит пользователя.
Из UserManager.js пользователь возвращается как undefined:
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;
});
Из IFrameNavigator.js, где разрешено обещание:
callback(url) {
Log.debug("IFrameNavigator.callback");
try {
IFrameWindow.notifyParent(url);
return Promise.resolve();
}
catch (e) {
return Promise.reject(e);
}
}
Если у вас это работает в вашем приложении angular4 (или, я не привередлив, в другом приложении), помогите мне :)