Drupal8 Oaut2向客户端添加授权类型“密码”

时间:2018-08-01 15:53:55

标签: drupal oauth-2.0 drupal-8

我在 Drupal8 项目上工作并创建了 Rest API ,一切正常,直到我想获取令牌时想要添加 Oauth2 我收到了无效的赠款类型错误。

这是错误代码:

{
    "error": "invalid_grant",
    "message": "The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.",
    "hint": "Check the configuration to see if the grant is enabled."
}

这是我叫的网址:

http://myserver/oauth/token?grant_type=password&client_id=6db9da8d-b831-4381-b279-381bc5a57e90&scope&username=webmasterrest&password=webmasterrest&client_secret= $ S $ EamACyfemGWic74kmkwUvphMmr9FL132KC297mI1GEkTKhyBJyAo

我添加了一个客户端,但是无法向该客户端添加授权类型“密码”,请问有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

要添加Oauth 2身份验证

使用Composer安装模块:composer config repositories.drupal composer https://packages.drupal.org/8 && composer需要drupal / simple_oauth:^ 2。只要安装OAuth2 Server编写器软件包,就可以使用任何其他安装方法。

生成一对密钥以加密令牌。出于安全原因,将它们存储在文档根目录之外。

openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout > public.key

将密钥路径保存到/ admin / config / people / simple_oauth。

转到REST UI并在您的资源中启用oauth2身份验证。

通过转到/ admin / config / services / consumer / add创建客户端应用程序。

通过向/ oauth / token发出POST请求,使用您的凭据创建令牌。请参阅有关您的请求应包含哪些字段的文档

(未显示)权限设置为仅允许通过REST身份验证的用户查看节点。

通过没有身份验证的REST请求节点,并观察其失败。

通过REST请求标头为Authorization:Bearer {YOUR_TOKEN}的节点,并观察其成功。

来自this


注意:我使用的是drupal / simple_oauth版本2.x,因为我在版本3.x中遇到了异常