У меня странная проблема, когда после успешной аутентификации пользователя и входа в него мой router.navigation
фактически не перенаправляет - страница просто сидит там.
вот мой логин .service
authenticate(finallyCallback?: () => void, redirectUrl?: string): void {
finallyCallback = finallyCallback || (() => {});
this._tokenAuthService
.authenticate(this.authenticateModel)
.pipe(finalize(finallyCallback))
.subscribe((result: AuthenticateResultModel) => {
this.processAuthenticateResult(result, redirectUrl);
});
}
private processAuthenticateResult(authenticateResult: AuthenticateResultModel, redirectUrl?: string) {
this.authenticateResult = authenticateResult;
if (authenticateResult.accessToken) {
localStorage.openpages = Date.now();
this.login(
authenticateResult.accessToken,
authenticateResult.encryptedAccessToken,
authenticateResult.expireInSeconds,
this.rememberMe,
redirectUrl
);
}
}
private login(accessToken: string, encryptedAccessToken: string, expireInSeconds: number, rememberMe?: boolean, redirectUrl?: string): void {
let tokenExpireDate = rememberMe ? new Date(new Date().getTime() + 1000 * expireInSeconds) : undefined;
this._tokenService.setToken(accessToken, tokenExpireDate);
this._utilsService.setCookieValue(
AppConsts.authorization.encrptedAuthTokenName,
encryptedAccessToken,
tokenExpireDate,
abp.appPath
);
this.router.navigate([redirectUrl]);
// I have also tried
this.router.navigateByUrl(redirectUrl);
}
, так что в основном происходит проверка подлинности приложения и вход в систему, но после нажатия this.router.navigate()
ничего не происходит?
Я также пытался this.router.navigateByUrl()
и то же самое, теперь я на 100% уверен, что отправляю значение для redirectUrl
, и я на 100% уверен, что функция запускается, так как я отлаживал ее.
Но для жизнь моя, я не могу понять, почему приложение не перенаправляет, this.router.navigate
работает, как и ожидалось, везде в моем приложении ... просто не здесь
любая помощь будет оценена!
Спасибо