场景:
我通过 Angular 应用程序中的 AD B2C 帐户登录。我集成了 msal-browser (^2.15.0) 和msal-angular (^2.0.1),用于身份验证和访问会话数据。
我使用 Graph API(来自我的 .NET 服务器)从我的 Angular 应用程序更新我的 AD B2C 用户记录。
要求:
每当我通过 Angular 应用程序中的 Graph API(间接通过我的服务器)更新用户记录时,我希望我的浏览器会话也能反映这些更改。
// user-data.service.ts
public updateUserRecord(userUpdateObj: CustomUserModel) {
this.http.put("https://my-server-calling-graph-api.com/user-data", userUpdateObj ,this.HTTP_OPTIONS)
.pipe(
map((updatedResult: CustomUserModel) => {
console.log('Updated User Record -> ', updatedResult);
// SESSION DATA
this.usersList = this.msalService.instance.getAllAccounts();
this.msalService.instance.setActiveAccount(this.usersList[0]);
const userCustomAttributes = this.usersList[0].idTokenClaims;
console.log('Existing User Record -> ', userCustomAttributes);
}),
retry(2)
);
} // FN
问题:有没有办法通过任何 msal 服务调用在后台静默更新会话数据,或者我应该重定向到登录以重新接收会话数据?