首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ApiResources保护API作用域的Identityserver服务器4的说明

使用ApiResources保护API作用域的Identityserver服务器4的说明
EN

Stack Overflow用户
提问于 2021-04-14 05:26:30
回答 1查看 622关注 0票数 3

我不太理解使用APIResource和APIScopes的保护API

我有一个有角度的客户端应用程序,它正在调用一个.Net API,比如API1,Api2,如何在APIResource中定义值。

迁移后,我将查看Identity server4 (Version4.0.0)数据库表。我找到了下面的桌子

  1. ApiResources
  2. ApiResourceScopes
  3. ApiResourceClaims
  4. ApiResourceProperties
  5. ApiResourceSecrets
  6. ApiScopes
  7. ApiScopeClaims
  8. ApiScopeProperties

我的理解是,我们可以为API设置使用1-5个表,也可以使用6-8个表。我试过用1-5桌。ApiResources、ApiResourceScopes和ApiResourceClaims中的增加值但低于错误值

代码语言:javascript
复制
[18:03:53 Debug] IdentityServer4.EntityFramework.Stores.ResourceStore
Found ["TestAPI.Read"] scopes in database

表中的

  1. ApiResourceClaims表的用途是什么?这是否返回带有访问令牌的用户声明?
  2. 如何从客户端访问此范围?
  3. 还有其他表格吗?我需要添加数据吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-14 07:53:36

首先,我建议你读我的答案,这里

  • ApiResourceClaims表的用途是什么?这是否返回带有访问令牌的用户声明?

它包含将包含在访问令牌中的用户声明列表。也就是说,它将从用户数据库获取的声明的名称。

  • 如何从客户端访问此范围?

你需要系一个ApiScope。您需要一个包含一个或多个ApiScope的ApiResources。

ApiResources表示系统中的各个API。因此,每个API都有一个ApiResource。您可以使用ApiResource名称和秘密让各个API针对IdentityServer进行身份验证和登录,例如获取访问令牌(象征性内省)的详细信息。

我想下面的图片显示了各个部分之间的关系:

客户端请求一个ApiSCope,然后创建一个访问令牌,该令牌将授予对一个或多个ApiResources的访问权。每个ApiResource都可能使用userclaims请求获得您希望在访问令牌中显示的其他用户信息。可能用于API中的授权步骤。以确定是否真正允许用户进入。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67085958

复制
相关文章

相似问题

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