Scroll
使用 HTTP Basic Authentication 模块设置基本身份验证
使用 JSON:API 进行 CRUD 操作的身份验证
在与 JSON:API 交互时,可使用 Postman 或 cURL 等工具发送请求。默认情况下,这些请求会被视为来自“匿名用户”,因为这些工具本身并不处理身份认证。因此,根据你在 Drupal 站点中为匿名用户配置的权限,可能无法访问某些资源。
但如果你的目标是通过 JSON:API 执行创建、更新或删除(CRUD)操作,仅依赖匿名访问是远远不够的。这些操作需要经过身份验证的访问。Drupal 支持多种身份验证方式,可通过核心或贡献模块启用。
最常用的一种方式是 HTTP Basic Authentication,它包含在 Drupal 核心中。对于更高级的用例,也可以使用 Drupal REST & JSON API Authentication 模块,它提供了更强大的身份验证功能和自定义选项,便于你根据应用需求调整安全模型。
进行认证请求的步骤
- 确保启用了所有相关操作权限
- 启用 HTTP Basic Authentication 模块
- 创建一个 API 用户角色
- 为该角色分配必要的权限:访问路径 /admin/people/permissions/api_user
- 本例中请确保为该角色赋予
*文章*:创建新内容
权限 - 创建一个具备该角色权限的用户:/admin/people/create
- 在 Postman 中配置身份认证,使用刚创建的用户账户
- 添加 Content-Type 请求头:
application/vnd.api+json
- 更新请求体(Body)为以下内容:
{ "data": { "type": "node--article", "attributes": { "title": "This page is created trough JSON:API", "body": { "value": "some body text", "format": "plain_text" } } } }
- 发送请求并查看响应。如果状态码为 201,说明你已成功通过 JSON:API 进行认证并创建了一个 article 类型的节点。
JSON:API 是一个强大且标准化的规范,使在 Drupal 中构建 API 更加简单。作为 Drupal 8 及更高版本 的核心模块,它允许开发者通过一致且定义明确的 API 暴露内容和数据,而无需进行大量自定义开发。
只需启用 JSON:API 模块,即可立即获得一个符合 JSON:API 规范的结构化接口。该接口使用直观的 URL 路径和可预测的响应格式,使得前端应用、系统集成和解耦架构的开发变得更为轻松。
想进一步探索高级功能与最佳实践,请参阅 Drupal JSON:API 模块文档,其中包含了关于 分页、筛选、排序、文件上传 等功能的完整指南,助你充分发挥 JSON:API 在 Drupal 项目中的潜力。