我试图使用FOSOAuthServerBundle对用户各自的访问令牌进行身份验证。
作为输出,我接收了客户端id和客户端秘密密钥,但我对grant_type..what值感到困惑,它是否有效??
在浏览器中运行时:凭据
以下是错误:{“错误”:“invalid_client”,“error_description”:“客户端凭据无效”}
我如何解决这个错误?
发布于 2013-11-28 15:11:56
您可以在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';
Grant类型指定如何在应用程序中对客户端进行身份验证。详细的解释可以在OAuth2规范中找到,但是它在文档中到处传播。基于我对OAuth2服务器包的了解,每一种赠与类型的精确含义
authorization_code
- client是通过先前从服务器获得的code
参数来识别和验证的。password
- client通过用户凭据:用户和密码进行身份验证client_credentials
-客户端通过自己的凭据(在客户端创建期间提供的凭据)进行身份验证。implicit
-一步认证。不推荐除非你知道自己在做什么refresh_token
-客户端通过原始身份验证中提供的刷新令牌进行身份验证。先前发出的OAuth令牌变得无效extensions
-?每个客户端可以提供一个以上的grant_type
。此外,我建议您阅读伟大的文章OAuth2简化。
https://stackoverflow.com/questions/19785501
复制相似问题