【发布时间】:2016-09-29 22:12:46
【问题描述】:
在授权标签中,如果指定角色,访问将被拒绝,我无法弄清楚如何配置 IdentityServer3 以允许角色。我正在使用客户端凭据流。这是标签:
[Authorize(Roles = "Read")]
我用来创建客户端的代码如下:
public IEnumerable<Client> GetClientsToAddUpdate()
{
return new Client[]
{
new Client
{
ClientName = "Portal Client Name",
Enabled = true,
ClientId = "portalClientName",
ClientSecrets = new List<Secret>
{
new Secret("AVerySecretSecret".Sha256())
},
Flow = Flows.ClientCredentials,
AllowClientCredentialsOnly = true,
AllowedScopes = new List<string>
{
"Read"
},
Claims = new List<Claim>
{
new Claim("client_type", "headless"),
new Claim("client_owner", "Portal"),
new Claim("add_detail", "allow")
},
PrefixClientClaims = false
}
};
}
我有一个读取范围,并在获取承载令牌时发送该范围,如果我使用未指定角色的授权标签,一切正常。一旦我添加角色授权被拒绝。 如何修改客户端以添加“读取”角色?
一些背景是我想通过 Swashbuckle 使用 Swagger 为客户提供一个沙箱来使用 API,但我无法获得工作授权,所以我想添加角色,因为这似乎得到了更接近工作的 Swagger UI。
【问题讨论】:
标签: c# identityserver3