配置身份验证
为 GraphQL 请求设置 OAuth 客户端。
要向您的 Drupal 网站发出 GraphQL 请求,我们需要配置 身份验证。
我们将使用 OAuth 客户端来验证 GraphQL 请求。
在创建 OAuth 消费者之前,我们需要创建新的角色和用于 OAuth 范围的用户。
1. 创建角色
- 访问
/admin/people/roles
。 - 点击+ 添加角色。
- 填写角色名称。例如:Next.js 网站。
2. 分配权限
接下来,将以下权限分配给新创建的角色。
- GraphQL Compose - 服务器:执行任意请求
3. 创建用户
在 /admin/people/create
添加新用户并分配我们上面创建的角色。
4. 生成密钥
生成一对密钥来加密访问令牌。出于安全原因,请将它们存储在您的文档根目录之外 (web
目录)。
- 访问
/admin/config/people/simple_oauth
- 点击生成密钥来为令牌生成加密密钥
- 填写密钥目录。例如,使用类似
../
的相对路径 - 点击生成
- 点击保存配置
您也可以使用 openssl
在您上面使用的目录中生成密钥
openssl genrsa -out private.key 2048 openssl rsa -in private.key -pubout > public.key
5. 创建消费者
- 访问/admin/config/services/consumer/add
- 填写以下值
- 标签:
Next.js 网站
- 用户:
选择我们创建的用户
- 密钥:
您的密钥
- 范围:
选择我们创建的角色
- 点击保存
重要:请记下客户端 ID (uuid) 和密钥。这些将用作 Next.js 网站的环境变量。