Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IdentityServer4授权标头身份验证_Identityserver4_Basic Authentication_Api Key_.net Core 3.0 - Fatal编程技术网

IdentityServer4授权标头身份验证

IdentityServer4授权标头身份验证,identityserver4,basic-authentication,api-key,.net-core-3.0,Identityserver4,Basic Authentication,Api Key,.net Core 3.0,我是.Net新手,所以我很难理解如何使用Machine2机器身份验证和授权。这就是我要做的 我们有一个为资源调用API的库,但是调用必须经过授权,所以还有一个IS4。每个部分都是解决方案中的一个独立项目,并在Docker中运行。 我们希望强制该库在授权头中为每个对API的请求提供一个API密钥。然后我们希望API检查 API密钥是有效的 API密钥属于具有正确声明集和/或范围的用户 如果一切正常,则接受传入请求或发送未经授权的401否则 我们正试图用IS4来实现这一点,因为在未来,我们希望使

我是.Net新手,所以我很难理解如何使用Machine2机器身份验证和授权。这就是我要做的

我们有一个为资源调用API的库,但是调用必须经过授权,所以还有一个IS4。每个部分都是解决方案中的一个独立项目,并在Docker中运行。 我们希望强制该库在
授权
头中为每个对API的请求提供一个API密钥。然后我们希望API检查

  • API密钥是有效的
  • API密钥属于具有正确声明集和/或范围的用户
如果一切正常,则接受传入请求或发送未经授权的
401
否则

我们正试图用IS4来实现这一点,因为在未来,我们希望使用诸如Single Sing On、delegation等功能

这个m2m是第一步,尽管它看起来很简单,但我们很难让它工作

默认情况下,m2m通信需要IS4中的
ClientCredentials
Grant类型。但使用它需要两个步骤:请求访问令牌,然后使用此访问令牌访问API资源

获取访问令牌需要提供
ClientId
ClientSecret
Scope
,但我们希望使用单个API密钥


是否有可能以某种方式将这两件事组合在一起?

最简单的解决方案可能是使用一些客户端凭据来发布一个非常长寿命的引用令牌—实际上是一个API密钥。这是您需要一次又一次地配置的东西,还是一次性后台类型的练习?将有许多用户,但API密钥不会经常更改。不过,我们需要能够撤销密钥。你能详细说明一下吗?最简单的解决方案可能是使用一些客户端凭据来发布一个非常长寿命的引用令牌——实际上是一个API密钥。这是您需要一次又一次地配置的东西,还是一次性后台类型的练习?将有许多用户,但API密钥不会经常更改。不过,我们需要能够撤销密钥。你能详细说明一下吗?