OAuth2-无需用户交互即可授权

Dou*_*oug 7 authorization http oauth oauth-2.0

因此,我试图通过外部应用程序的API访问自己的数据。我只需要访问自己的数据。不尝试从我的任何用户帐户中接收数据,因此他们无需授权任何内容。因此,显然我需要避免任何重定向(我研究OAuth越多,这似乎是标准过程……)

该过程到达/authorize端点,该端点返回一个代码。然后在向accesstoken端点的请求中提供该代码。然后,我可以通过API访问我的帐户。我95%确信此过程对于所有OAuth都是标准的,但我想我会提供详细信息,以防万一。

如何在后端提供凭据以获取用于输入令牌请求的代码,以使所有用户交互都无效?我使用的API迫使我使用OAuth。

NtF*_*reX 10

您所描述的oauth2授权称为Authorization Code Grant。已设计这种身份验证方式,以使想要访问用户资源的应用程序无法访问用户凭据。

因此,如果您在此授予中找到了一种与用户凭据进行交互的方法,则将其视为黑客。

如果您不希望单个用户输入用户名和密码,但想使用一种“系统帐户”访问api,则不应该使用oauth授予。

有多项补助金适合您。问题是授权服务器可提供哪些支持。

资源所有者密码凭证授予

此授予类型适用于能够获得资源所有者凭证的客户端。

然而

资源所有者密码凭据授予类型适用于资源所有者与客户端具有信任关系的情况,例如设备操作系统或高特权应用程序。

此授予类型很可能不可用,因为它可能被滥用以窃取用户凭据。

客户凭证授予

客户端只能使用其客户端凭据请求访问令牌。

如何将资源绑定到客户端不是oauth规范的一部分,因此也不是提供程序特定的。


如果您想了解更多关于的oauth2 这里是一个很好的文章。