identityserver4 - IdentityServer4 授权头认证
问题描述
我是 .Net 的新手,所以我很难理解如何处理机器 2 机器的身份验证和授权。这就是我想要做的。
我们有一个库,它将为资源调用 API,但调用必须经过授权,因此还有一个 IS4。每个部分都是解决方案中的一个单独项目,并在 Docker 中运行。我们希望强制库为Authorization
标头中对 API 的每个请求提供一个 API 密钥。然后我们希望 API 检查
- API 密钥有效
- API 密钥属于具有正确声明和/或范围集的用户
如果一切正常,则接受传入请求或401 Unauthorized
以其他方式发送。
我们正在尝试使用 IS4 来做到这一点,因为将来我们希望使用单唱、委托等功能。
这个 m2m 是第一步,尽管它看起来很简单,但我们很难让它发挥作用。
默认情况下,m2m 通信需要ClientCredentials
IS4 中的授权类型。但使用它需要两个步骤:请求访问令牌,然后使用此访问令牌访问 API 资源。
获取访问令牌需要提供ClientId
,ClientSecret
但Scope
我们希望使用单个 API 密钥。
是否有可能以某种方式将这两件事包装在一起?
解决方案
推荐阅读
- swift - Firebase 实时数据库定价与查询
- amazon-dynamodb - DynamoDB - 根据条件放置项目
- memory-management - 不可变字符串和克隆
- asp.net-core - 如果自定义参数无效,IdentityServer4 拒绝令牌请求
- c# - 计算 RSI 以优化新元素
- c - 如何使用 fwrite 编写向量(或结构)的一部分
- nlp - 对问答系统 NLP 的建议
- docker - Nginx 无法访问 Docker 卷挂载
- github - 未验证电子邮件时如何重置 GitHub.com 密码?
- laravel - Laravel Passport:试图获取非对象的属性“id”