【问题标题】:Generate Access Token for Simple_Oauth authentication in Drupal 8在 Drupal 8 中为 Simple_Oauth 身份验证生成访问令牌
【发布时间】:2018-02-20 00:15:53
【问题描述】:
我的动机是为客户端生成一个访问令牌(通过 Drupal 的 simple_oauth 模块),借助该令牌,客户端可以通过 REST API 访问 Drupal 8 站点的内容。但是生成令牌选项卡在屏幕上不可用,我也尝试使用 OAuth2.0 身份验证通过 Postman 生成令牌,但无法理解在授权 URL 和令牌 URL 字段中要写什么。
任何建议将不胜感激。提前致谢。
【问题讨论】:
标签:
rest
oauth-2.0
drupal-8
【解决方案1】:
Quick demo (Password Grant)
使用 Composer 安装模块:composer config repositories.drupal composer https://packages.drupal.org/8 && composer require drupal/simple_oauth:^3。您可以使用任何其他安装方法,只要您安装了 OAuth2 Server composer 包即可。
生成一对密钥来加密令牌。出于安全原因,将它们存储在文档根目录之外。
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} 的节点并观察它是否成功。**