我在我的角度项目中使用 oidc-client。如果用户对象不为空,我在 app.component.ts 中编写了以下代码以将用户重定向到主页。但是即使成功登录,用户对象也始终为空。我正在使用 microsoft azure 进行身份验证。
app.component.ts
async ngOnInit() {
await this.authService.getUser().then(user => {
console.log(user) // always returns null even after login
if (user) {
this.router.navigate(['/home']);
}
});
}
login() {
this.authService.signinRedirect();
}
身份验证服务.ts
export class AuthenticationService {
private userManager: UserManager;
constructor(settings: Settings) {
this.userManager = new UserManager(settings);
}
public signinRedirect() {
this.userManager.signinRedirect();
}
public getUser() {
return this.userManager.getUser();
}
}
成功登录后,我在名为 oidc.user.xxxxxxx 的本地/会话存储中看不到任何 key:val 对。
此外,我还对一些示例内部应用程序进行了交叉检查。成功登录后,oidc api 将触发对令牌端点的调用。在我的情况下,这个端点没有被调用。
可能缺少什么?我究竟做错了什么?