Kop*_*ter 2 asp.net-core openiddict
我正在尝试使用 OpenIddict 作为授权服务器,并且我设法生成了一个令牌,但是我不知道如何将“aud”声明放入令牌中。
我当然可以手动将其添加到创建的 ClaimsPrincipal 中,但我想知道是否有像 IdentityServer 中那样的方法。在 IdentityServer 中,您可以声明 api 资源,并且对于这些资源,您可以声明范围。如果请求 API 资源的范围,则 API 资源的名称将作为受众包含在内。
有没有办法告诉 OpenIddict 如果请求范围,包括特殊受众,或者必须手动实现?
通过范围管理器创建范围时,您可以将资源列表附加到范围:
\nawait manager.CreateAsync(new OpenIddictScopeDescriptor\n{\n DisplayName = "Demo API access",\n DisplayNames =\n {\n [CultureInfo.GetCultureInfo("fr-FR")] = "Acc\xc3\xa8s \xc3\xa0 l\'API de d\xc3\xa9mo"\n },\n Name = "demo_api",\n Resources =\n {\n "resource_server"\n }\n});\nRun Code Online (Sandbox Code Playgroud)\n然后,用于ListResourcesAsync(scopes)列出与指定范围关联的所有资源。例如:
principal.SetResources(await _scopeManager.ListResourcesAsync(principal.GetScopes()).ToListAsync());\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |