我需要在令牌中添加一个令牌,用于" act-as" IdentityServer3中自定义授权类型的架构。
我尝试使用PreserveAccessToken
,但它只是将令牌添加为当前ClaimsPrincipal中的声明,但是当获取另一个令牌传递给下一个服务/ api时,无法找到将其嵌套为声明的方法在链中。
这背后的想法是能够对从最终用户到最后一个服务/ api的所有跃点进行审计。
答案 0 :(得分:1)
这可以使用自定义授权来实现。这允许使用自定义"操作"扩展令牌端点。 - 例如发布包含委托声明的令牌 - 例如一个令牌。
文档在这里:https://identityserver.github.io/Documentation/docsv2/advanced/customGrantTypes.html
此处还有一个接近您的方案的示例:https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/Multi%20Hop%20Delegation%20(ActAsCustomGrant)
表示 - 这可能是在多个跃点上传达用户ID的最昂贵方式。
如果后端系统之间存在受信任的子系统,则只需将所需数据作为有效负载进行传输就会简单得多,速度也快得多。