【发布时间】:2020-01-06 19:59:46
【问题描述】:
我已经浏览了 Ids4 的示例,特别是 client-webapi 场景。
https://github.com/IdentityServer/IdentityServer4/tree/master/samples/Clients
该示例主要说明了客户端如何获取访问令牌、将访问令牌发送到 WebAPI 以及 WebAPI 根据范围或声明等策略进行检查。
我的场景有以下限制。
- 访问令牌包含最少的信息。意思是我不放 所有其中最敏感的信息。
- WebAPI 要求策略(不仅仅是范围)的这些声明,因为声明将特定于用户,而不是客户端应用程序。
例子
options.AddPolicy("User", policy =>
{
policy.RequireClaim("ProfileAccess","user:read");
});
options.AddPolicy("Admin", policy =>
{
policy.RequireClaim("ProfileAccess", "user:read", "user:write");
});
在 MVC 客户端中,OpenId Connect 配置有一个选项 GetClaimsFromUserInfoEndpoint,它使用令牌调用 UserInfo 端点并将这些声明转换为主体的声明。 WebAPI 有类似的东西还是我必须自己实现它?我也不想在访问令牌中包含太多信息。
【问题讨论】:
-
从技术上讲,用户信息端点是身份服务器中内置的 Web api 端点。
标签: c# asp.net-core asp.net-web-api .net-core identityserver4