我需要编写一个独立(命令行)程序,该程序调用使用OAuth 2进行身份验证的Web服务 . Web服务使用IndentityServer4 . 我正在寻找一个可用于此的库和一些示例代码 .
我是OAuth的新手,所以不了解协议的所有细节,但我能够通过提供这些参数来使用邮递员获得令牌 . 我想Auth URL是登录屏幕的地址 .
验证URL,访问令牌URL,ClientID,客户端密钥和范围 .
当我请求令牌邮递员进入实施OAuth的服务器实现的登录页面时,我需要输入单独的用户名和密码 .
如果我的理解是正确的,为了使其工作,我们需要对服务器进行更改以允许通过以某种方式将应用程序用户名传递给密码来进行非交互式登录 .
1 回答
IdentityModel nuget package具有客户端和帮助程序,以简化从IdentityServer请求(和使用)访问令牌的过程 . 您可以在github page上找到有关该库的信息 . 有一些很好的示例,说明如何获取令牌并使用它们在IdentityServer4快速入门中调用Web API:
Protecting an API using client credentials
Protecting an API using passwords
以下是使用客户端凭据获取令牌然后使用令牌调用api的示例: