首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IdentityServer 4作用域相关用户(与特定范围内的用户登录)

IdentityServer 4作用域相关用户(与特定范围内的用户登录)
EN

Stack Overflow用户
提问于 2022-08-28 09:39:49
回答 1查看 84关注 0票数 0

你好,im使用IdentityServer 4,我有一个后台和移动应用程序,同时有独立的IdentityServer客户端和作用域。

后台用户使用带有CarSharing_Web API范围和API资源的CarSharing客户端。

移动应用程序用户使用带有CarSharing_WeRent API范围和API资源的WeRent客户端。

我想要的是,如果您想在CarSharing_WeRent客户端上获得访问令牌,您只能通过在CarSharing_WeRent客户端注册的用户获得它。

我不希望后台用户用后台帐户登录到mible。

在移动平台上,我使用的是/connect/token api

这是我对邮递员的要求

EN

回答 1

Stack Overflow用户

发布于 2022-08-31 14:54:53

我不会修改令牌交换流,我要做的是确保只为使用WeRent客户端id进行身份验证的用户授权CarSharing_WeRent API范围。

IdentityServer4为用于验证请求的客户端id添加了一个声明,该声明称为client_id。您可以创建一个授权策略,使用正确的值检查该声明,并将其附加到WeRent控制器。

代码语言:javascript
运行
复制
builder.Services.AddAuthorization(options => {
    options.AddPolicy("WeRent", policy => {
        policy.RequireClaim("client_id", "CarSharing_WeRent");
    });
});

并在控制器上使用此方法:

代码语言:javascript
运行
复制
[Authorize(Policy = "WeRent")]
public class WeRentController : ControllerBase {
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73517565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档