
什么是分类(Taxonomy)?
分类 用于对网站内容进行归类。一个常见的分类示例是博客网站中用于分类或归类文章的标签;农贸市场网站可以使用配料分类来对食谱进行归类。单个分类实体称为 术语(在这些示例中是博客标签或食谱配料);一组术语称为 词汇表(这些示例中的所有博客文章标签集合,或所有食谱配料集合)。从技术上讲,分类术语是一种实体类型,而实体子类型则是词汇表。与其他实体一样,分类术语也可以附加字段;例如,你可以设置一个图片字段来为每个术语存放图标。
单个词汇表可以将其术语组织成层级结构,也可以是扁平的。例如,博客标签通常是扁平结构,而食谱配料的词汇表可以是层级结构(例如,番茄可以是蔬菜的子术语,而在番茄下,可以有青番茄和红番茄)。
分类术语通常作为引用字段附加到其他内容实体上,这就是你可以用它们来对内容进行分类的方式。当你设置分类引用字段时,可以让用户通过两种方式输入术语:




基本身份验证是一种非常简单直接的身份验证方法。客户端发送带有 Authorization 头的 HTTP 请求,该头包含 Drupal 站点的 base64 编码用户名和密码。
在基本身份验证中,miniOrange API Authentication 模块会首先根据用户的 Drupal 用户名和密码进行身份验证。如果用户通过身份验证,则该用户才可以执行该操作。该模块兼容 Drupal 7、Drupal 8、Drupal 9、Drupal 10 和 Drupal 11。


API 密钥认证是保护 Drupal REST API 最简单的方法之一。一旦你为所有用户生成了 API 密钥,就可以使用这些密钥来保护对 Drupal REST API 的访问。
你可以在每个 API 请求的 Authorization 头中发送用户的 Drupal 用户名和 API 密钥来实现。Drupal API Authentication 模块将会根据用户名和对应的 API 密钥来验证请求。该模块兼容 Drupal 7、Drupal 8、Drupal 9、Drupal 10 和 Drupal 11。


OAuth(开放授权)是一种基于令牌的身份验证和授权协议的开放标准,可用于提供单点登录(SSO)。OAuth 允许第三方服务(例如 Facebook 等)在不暴露用户密码的情况下使用最终用户帐户的特定信息。它作为最终用户的中介,向服务提供一个访问令牌,从而授权共享特定的帐户信息。
此 Drupal API 身份验证方法使用 OAuth 2.0 协议获取安全访问令牌。该令牌用于验证对您的 Drupal 站点 API 的访问。OAuth 方法提供高度加密和安全的访问令牌,确保您的 Drupal API 得到良好保护。它被认为是防止对 Drupal REST 或 JSONAPI 端点未经授权访问的最安全方法之一。该模块兼容 Drupal 7、Drupal 8、Drupal 9、Drupal 10 和 Drupal 11。


Drupal API Authentication 模块通过在 API 请求中发送 JWT 令牌来进行身份验证。该模块使用 JSON Web Token (JWT),这是一种在双方交互中安全表示用户身份的开放标准。
在此步骤中,本质上会使用您的 Drupal 网站的用户名和密码来获取一个 JWT 令牌。一旦用户名和密码验证成功,Drupal REST API Authentication 模块将创建一个已签名的 JSON Web Token。然后,API 会将该令牌返回给客户端应用程序。
一旦您收到 JWT 令牌,就可以使用该令牌在 Drupal 中执行操作,直到 JWT 令牌过期。Drupal REST API Authentication 模块仅在接收到来自应用程序的有效 JWT 时才会授予访问权限。
JWT 可以使用两种算法进行签名和验证 —— HSA 和 RSA。
让我们看看如何在 Drupal 中使用 JWT 令牌进行 API 身份验证。


如果你希望使用身份提供者来保护/限制对 Drupal REST API 的访问,那么应该使用外部身份提供者身份验证方法。
使用外部身份提供者进行 Drupal API 身份验证的方式,是通过第三方提供者(如 Google、Azure AD、Keycloak、Okta、Gitlab 等)获取的访问令牌来安全访问 Drupal 的 REST API。
在这种方法中,你需要在模块配置中设置身份提供者的 User Info Endpoint 和用户名属性。之后,你就可以使用该提供者颁发的令牌对所有 Drupal API 请求进行认证。Drupal REST API 模块会将接收到的用户凭据与 Drupal 用户账户进行匹配验证。该模块兼容 Drupal 7、8、9、10 和 11。
