我有一个.NET Core应用程序,使用Identity Server 4创建了许多非标准声明,以授权应用程序。其中一些非标准声明直接影响应用程序的行为,并由数据库设置。如果用户在UI上执行某些操作,我需要重置这些声明。
那么问题来了,如果我使用混合流程(renew tokens),像这里找到的https://github.com/IdentityServer/IdentityServer4.Samples/blob/release/Clients/src/MvcHybrid/Controllers/HomeController.cs,它会调用用户信息端点以获取更新的声明列表吗?换句话说,重新登录而无需注销并再次登录。还是我需要手动更新Claims principal?
我宁愿IS4做繁重工作,而不必手动更新principal。
编辑:
使用上述代码,我能够刷新令牌,看到它正在调用IS4并重置IS4代码中的声明,但它没有获取用户配置文件,该配置文件实际上未在客户端侧更新声明。我无法保存声明在令牌中,因为令牌变得过于庞大并且需要注销,所以我已启用了选项中的“GetClaimsFromUserInfoEndpoint”选项。是否有编程方式重置UserProfile?
那么问题来了,如果我使用混合流程(renew tokens),像这里找到的https://github.com/IdentityServer/IdentityServer4.Samples/blob/release/Clients/src/MvcHybrid/Controllers/HomeController.cs,它会调用用户信息端点以获取更新的声明列表吗?换句话说,重新登录而无需注销并再次登录。还是我需要手动更新Claims principal?
我宁愿IS4做繁重工作,而不必手动更新principal。
编辑:
使用上述代码,我能够刷新令牌,看到它正在调用IS4并重置IS4代码中的声明,但它没有获取用户配置文件,该配置文件实际上未在客户端侧更新声明。我无法保存声明在令牌中,因为令牌变得过于庞大并且需要注销,所以我已启用了选项中的“GetClaimsFromUserInfoEndpoint”选项。是否有编程方式重置UserProfile?