Я использую эту библиотеку MSAL (https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-angular) для аутентификации.
Для сброса пароля мой код выглядит следующим образом:
// app.component.ts
constructor(private authService: MsalService)
{
if (this.forgotPassword()) {
this.navigateToForgotPassword();
} else {
this.authService
.acquireTokenSilent(MsalHelperService.getMsalConfigurationSettingValue('consentScopes'))
.then(token => {
if (this.authService.getUser()) {
this.userService.setLoggedIn(true);
this.navigateToLandingPage();
} else {
this.userService.setLoggedIn(false);
this.login();
}
})
.catch(error => {
this.userService.setLoggedIn(false);
this.login();
});
}
...
}
// Determine if user clicked "Forgot Password"
forgotPassword() {
const storage = this.authService.getCacheStorage();
const authError: string = storage.getItem('msal.login.error') ? storage.getItem('msal.login.error') : null;
if (authError && authError.indexOf('AADB2C90118') > -1) {
return true;
}
return false;
}
navigateToForgotPassword() {
this.authService.authority = this.authService.authority.replace('b2c_1a_signupsignin', 'b2c_1a_passwordreset');
this.authService.loginRedirect(MsalHelperService.getMsalConfigurationSettingValue('consentScopes'));
}
До этого момента все работало хорошо.
После сброса пароля пользователь возвращается к app.component, который затем вызывает loginRedirect () для отображения формы входа.
При возврате в app.component регистрируется следующая ошибка:
"Отказано в отображении ' https: //...signupsignin/' в кадре, поскольку для параметра X-Frame-Options установлено значение" deny "".
В идеале я хотел бы, чтобы пользователь автоматически входил в систему после сброса пароля.
Пожалуйста, сообщите, если это вообще возможно, или, по крайней мере, как я могу избавиться от вышеуказанной ошибки без необходимости изменять библиотеку MSAL.