您可以在OAuth2类的oauth2 存储库中找到支持的授权类型列表。他们是这样的:
/**
* Grant types support by draft 20
*/
const GRANT_TYPE_AUTH_CODE = 'authorization_code';
const GRANT_TYPE_IMPLICIT = 'token';
const GRANT_TYPE_USER_CREDENTIALS = 'password';
const GRANT_TYPE_CLIENT_CREDENTIALS = 'client_credentials';
const GRANT_TYPE_REFRESH_TOKEN = 'refresh_token';
const GRANT_TYPE_EXTENSIONS = 'extensions';
授权类型指定如何在应用程序中验证客户端。详细解释可以在OAuth2 规范中找到,但它散布在文档中。根据我对OAuth2 Server bundle的了解,每种授权类型的确切含义:
authorization_code
code
- 客户端通过先前从服务器获得的参数进行识别和验证
password
- 客户端通过用户的凭据进行身份验证:用户和密码
client_credentials
- 客户端通过它自己的凭据(您在客户端创建期间提供的凭据)进行身份验证
implicit
- 一步认证。除非您知道自己在做什么,否则不推荐
refresh_token
- 客户端通过原始身份验证中提供的刷新令牌进行身份验证。之前颁发的 OAuth 令牌无效
extensions
- ???
您可以为每个客户提供超过 1grant_type
个。另外我建议您阅读伟大的文章OAuth2 Simplified