Я могу зарегистрироваться и войти через Azure B2C, но при нажатии на ссылку забытого пароля он перенаправляется на домашнюю страницу.
private app: any;
public user: any;
constructor() {
this.app = new Msal.UserAgentApplication(
this.applicationConfig.clientID,
this.applicationConfig.authority,
(errorDesc, token, error, tokenType)=>{},
{
redirectUri: this.applicationConfig.redirectUrl,
validateAuthority:false
}
);
// this.app.redirectUri=this.applicationConfig.redirectUrl;
}
public login() {
let tokenData = '';
error=>{this.redirectIfForgotPassword();}
this.app.loginRedirect(this.applicationConfig.b2cScopes)
.then(data => {tokenData = data; });
}
public redirectIfForgotPassword() {
alert("pwd");
const errorDesc = this.appPR.errorDesc;
if (errorDesc && errorDesc.indexOf('AADB2C90118') > -1) {
const authUrlSplit = this.applicationConfig.authority.split('/');
const authorityUrl = `${authUrlSplit.slice(0, authUrlSplit.length - 1).join('/')}/${this.applicationConfig.passwordResetPolicy}`;
this.app.authority =authorityUrl;
localStorage.setItem("app_error", this.app.error);
//sessionStorage.remove(this.app.error);
this.login();
return false;
}
return true;
}
public getUser() {
const user = this.app.getUser();
if (user) {
return user;
} else {
return null;
}
}
public logout() {
this.app.logout();
}
public getToken() {
return this.app.acquireTokenSilent(this.applicationConfig.b2cScopes)
.then(accessToken => {
// console.log(accessToken);
return accessToken;
}, error => {
return this.appPR.acquireTokenPopup(this.applicationConfig.b2cScopes)
.then(accessToken => {
return accessToken;
}, err => {
// console.error(err);
});
});
}
}
URL-адрес, который я получаю после нажатия на ссылку пароля Forgor:
http://localhost:4200/#error=access_denied&error_description=AADB2C90118%3a+The+user+has+forgotten+their+password.%0d%0aCorrelation+ID%3a+228682a8-8e05-40be-b3c3-936a932fcfd2%0d%0aTimestamp%3a+2019-03-12+05%3a35%3a51Z%0d%0a&state=6eff9580-1aef-43c7-89a3-d17253d4a286
Метод redirectIfForgotPassword
не вызывается.
Проверьте, правильный ли мой синтаксис.
Предложить некоторые изменения для этого кода.