Authentication 刷新签名&;重新加载索赔

Authentication 刷新签名&;重新加载索赔,authentication,asp.net-core-2.0,identityserver4,asp.net-identity-3,Authentication,Asp.net Core 2.0,Identityserver4,Asp.net Identity 3,我正在将用户选择的区域性存储到用户声明中,我有一个定制的RequestCultureProvider,它读取此值并相应地设置请求区域性 应用程序将有一个配置文件页面,用户可以在其中更改其首选项(包括文化)。将数据保存到数据库后,我需要以静默方式重新登录用户,以更新其声明 其他信息: 我将IdentityServer4与Asp.Net Core 2.0和Asp.Net Identity一起使用 我正在将区域性加载到OnTokenValidated事件(客户端应用程序)中的声明中。也可以在GetP

我正在将用户选择的区域性存储到用户声明中,我有一个定制的RequestCultureProvider,它读取此值并相应地设置请求区域性

应用程序将有一个配置文件页面,用户可以在其中更改其首选项(包括文化)。将数据保存到数据库后,我需要以静默方式重新登录用户,以更新其声明

其他信息:

  • 我将IdentityServer4与Asp.Net Core 2.0和Asp.Net Identity一起使用
  • 我正在将区域性加载到OnTokenValidated事件(客户端应用程序)中的声明中。也可以在GetProfileDataAsync(IProfileService)或UserClaimsPrincipalFactory(ASP.NET核心标识)中完成
  • 该系统由3个web应用程序(Idsv4+app1+app2)组成。配置文件页面在应用程序中实现
  • 使用Asp.NET标识配置的单个web应用程序,您可以使用SignInManager中的RefreshSignInAsync方法重新生成用户的应用程序cookie,但是我需要从客户端应用程序(app1和app2)触发此过程,因此无法访问SignInManager
  • 我尝试使用HttpContext.Authentication.ChallengeAsync(“oidc”)HttpContext.Authentication.SignInAsync,显然调用了Authentication端点,但是我无法处理响应,它在调用此代码的MVC操作中生成了一个无限循环
那么,如何使用Idsrv4实现静默重新签名?

可能的重复