小编jdc*_*orr的帖子

刷新登录和重新加载声明

我将用户选择的文化存储到用户声明中,并且我有一个自定义 RequestCultureProvider 读取此值并相应地设置请求文化。

该应用程序将有一个个人资料页面,用户可以在其中更改他的偏好(包括文化)。将数据保存到数据库后,我需要默默地重新登录用户以更新他的声明。

附加信息:

  • 我将 IdentityServer4 与 AspNet Core 2.0 和 Asp.Net Identity 一起使用
  • 我正在将文化加载到 OnTokenValidated 事件(客户端应用程序)中的声明中。也可以在 GetProfileDataAsync (IProfileService) 或 UserClaimsPrincipalFactory (ASP.NET Core Identity) 中完成
  • 该系统由 3 个 Web 应用程序(Idsv4 + app1 + app2)组成。个人资料页面在应用程序中实现。
  • 使用配置了 Asp.NET Identity 的单个 Web 应用程序,您可以使用 SignInManager 中的 RefreshSignInAsync 方法重新生成用户的应用程序 cookie,但是我需要从客户端应用程序(app1 和 app2)触发此过程,因此无法访问 SignInManager。
  • 我尝试使用 HttpContext.Authentication.ChallengeAsync("oidc") HttpContext.Authentication.SignInAsync 并且显然调用了身份验证端点,但是我无法处理响应并且它在我调用此代码的 MVC 操作中生成无限循环。

那么,如何使用 Idsrv4 实现静默重新签名?

authentication asp.net-identity-3 identityserver4 asp.net-core-2.0

5
推荐指数
0
解决办法
878
查看次数