Mastodon:如何在没有用户令牌的情况下验证应用程序?

时间:2019-02-28 14:54:27

标签: oauth-2.0

我对oauth2(在Mastodon的上下文中)的理解是,用户向Mastodon实例注册其客户端,并接收客户端机密,然后将其用于制作身份验证uri,用户可以访问该身份验证uri并检索身份验证代码,与机密一起使用以请求最终的身份验证令牌。该令牌用于通过请求标头对经过身份验证的请求进行签名。

我注意到Mastodon不需要用户验证应用程序的oauth2凭据。

https://docs.joinmastodon.org/api/rest/apps/#get-api-v1-apps-verify-credentials

如何在不通过用户身份验证的情况下发送任何经过身份验证的请求?

1 个答案:

答案 0 :(得分:0)

从OAuth 2.0的角度来看,用户不需要验证应用程序凭据。应用程序凭证属于应用程序,并且必须受到任何第三方的保护,包括最终用户。

OAuth 2.0用于授权,换句话说就是访问委派。最终用户使用您的应用程序时,他/她允许您的应用程序使用他/她的资源。因此,检索,存储,使用和保护凭据是应用程序的责任。

请详细了解clients (applications) in OAuth 2.0 specification

还有一件事,

  

该令牌用于通过请求标头签署经过身份验证的请求

这种理解是不正确的。一旦应用程序收到令牌,它们将通过标头简单地传递到OAuth保护的端点(例如:Mastodon API)。这在their documentation

中突出显示
  

获得访问令牌后,将HTTP标头Authorization:Bearer ...添加到任何API调用中。

RFC6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage

了解更多信息