Я получаю ошибку ниже
I am having below UserManagerSettings
private getClientSettings(loginType?): UserManagerSettings {
let logout;
if (window.sessionStorage.getItem('loginType') === 'Internal') {
logout = environment.post_logout_redirect_uri + 'biz-admin';
} else {
logout = environment.post_logout_redirect_uri;
}
return {
authority: environment.authority,
client_id: environment.client,
redirect_uri: environment.redirectUri,
post_logout_redirect_uri: logout,
response_type: 'id_token token',
scope: environment.scopes,
filterProtocolClaims: true,
silent_redirect_uri: 'http://localhost:4200/assets/silent-refresh.html',
loadUserInfo: true,
extraQueryParams: {
loginType: loginType,
},
};
}
Below adds an expiring event
this.manager.events.addAccessTokenExpiring(x => {
this.renewToken().then(u => {
this.user = u;
});
});
Below functions call sign in silent
public renewToken(): Promise {
return this.manager.signinSilent(this.getClientSettings('Internal'));
}
Silent-refresh.html
var mgr = new Oid c .UserManager (); mgr.signinSilentCallback (). catch (error => {console.error (error);});
URI, у меня есть собственный лог c на основе loginType
redirect_uri=http%3A%2F%2Flocalhost%3A4200%2Fassets%2Fsilent-refresh.html&response_type=id_token&scope=openid&state=307b01d8e3234027b92e0f2920364d4a&nonce=c8d110e677bd4fc8a993b77798893edf&prompt=none&loginType=undefined
Кроме того, у меня есть правильный URI перенаправления в базе данных, но обновление не работает . renewtoken()
вызывается, но никогда не возвращается к коду 'then'.
Вопросы -
- Как при автоматическом обновлении удается получить access_token? требуется ли откуда-то сохраненный пароль идентификатора?
- Как я могу отправить дополнительные параметры запроса на
signInSilent()
он не определен даже после того, как я передал его как параметры, как signInSilent()
получает настройки диспетчера пользователей?