OAuth 2身份验证中grant_type参数的用途是什么

Har*_*ran 5 oauth-2.0 laravel lumen

我正在Lumen微框架中使用OAuth 2身份验证。现在我使用的grant_type值是passwordunsupported_grant_type如果我使用不同的东西,它会抛出。我想知道使用的目的grant_typepassword

Ján*_*aša 8

OAuth2 RFC要求端点使用grant_typeURL参数,该端点将授予权交换为真实令牌。因此,OAuth2服务器知道您要发送给它的内容。您正在使用“ 资源所有者密码凭证授予”,因此必须使用值指定它。/tokenpassword

从OAuth2 RFC:

授权授予是代表客户端使用资源(访问其受保护资源)以获取访问令牌的授权的凭证。

grant_type=password意味着您正在向/token端点发送用户名和密码。如果您使用了“ 授权代码授予”流程,则可以使用值authorization_code。但是,您不会发送用户名和密码对,而是会发送经过用户身份验证后从OAuth2服务器接收到的代码。该代码是任意字符串-难以读取。RFC的工作流图中很好地显示了它。