配置身份验证

为 GraphQL 请求设置 OAuth 客户端。


要向您的 Drupal 网站发出 GraphQL 请求,我们需要配置 身份验证

我们将使用 OAuth 客户端来验证 GraphQL 请求。

在创建 OAuth 消费者之前,我们需要创建新的角色和用于 OAuth 范围的用户。


1. 创建角色

  1. 访问 /admin/people/roles
  2. 点击+ 添加角色
  3. 填写角色名称。例如:Next.js 网站

2. 分配权限

接下来,将以下权限分配给新创建的角色。

  • GraphQL Compose - 服务器:执行任意请求

3. 创建用户

/admin/people/create 添加新用户并分配我们上面创建的角色


4. 生成密钥

生成一对密钥来加密访问令牌。出于安全原因,请将它们存储在您的文档根目录之外 (web 目录)。

  1. 访问 /admin/config/people/simple_oauth
  2. 点击生成密钥来为令牌生成加密密钥
  3. 填写密钥目录。例如,使用类似 ../ 的相对路径
  4. 点击生成
  5. 点击保存配置

您也可以使用 openssl 在您上面使用的目录中生成密钥

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

5. 创建消费者

  1. 访问/admin/config/services/consumer/add
  2. 填写以下值
  • 标签Next.js 网站
  • 用户选择我们创建的用户
  • 密钥您的密钥
  • 范围选择我们创建的角色
  1. 点击保存

重要:请记下客户端 ID (uuid) 和密钥。这些将用作 Next.js 网站的环境变量。