asp.net-core - IdentityServer4 将数据传递给 ProfileService
问题描述
我有一个身份服务器 4 实现,允许客户端通过网站在站点之间切换。每个用户都有很多我希望作为声明返回的特定于站点的信息 - 使用参考令牌和自省。我已经实现了一个配置文件服务,它按站点返回所有信息,但这可能是很多信息,因为一些用户可以访问很多站点。
目前,我正在生成一个登录声明列表,其中包含用户有权访问的站点列表。客户端在每个请求上设置一个标头,该标头定义了他们希望从中获取数据的站点。这对于 api 非常有效,因为每个站点通常都是不同的数据库,我们只想部署一个 API。从索赔的角度来看,我很挣扎。
每个客户端都在启动时实现 AddAuthentication().AddOAuth2Introspection() 以配置自省,但我看不到如何自定义调用,以便将站点添加到请求中并可供身份服务器中的 IProfileService 使用。
我不能在登录时包含该站点,因为用户可以通过 UI 或通过 API 调用随意在站点之间切换,因此我需要能够以某种方式将额外数据传递给 ProfileService 并在那里自定义声明。
值得一提的是,为简单起见,我只提到了站点。实际上,我需要传递其他信息来获取所需的索赔数据——我只是将其排除在这个问题之外,希望能有所帮助。有人知道我该怎么做吗?
解决方案
推荐阅读
- reactjs - 使用 Antd 和 redux-form-antd 进行自定义验证
- c# - 无法加载文件或程序集“MediaToolkit”
- c# - Xamarin.Forms.Xaml.XamlParseException:位置 10:18。未找到键 TwoButtonTopBarTemplate 的静态资源
- vba - XMLHTTP with Hash character
- amazon-web-services - 未能通过 iam:PassedToService 为 CodeBuild 传递角色
- php - 如何将多个参数传递给 laravel 命名资源路由
- selenium - 会话在尝试切换到新的弹出窗口时中断
- angularjs - 如何使用for循环和打字稿从api值制作数组数据
- crystal-reports - 当导出为 pdf 时,它会给出错误缺少参数值
- javascript - 动态设置输入仍然使表单无效