开发者
开发者是发现、订阅和使用 API 的开发者门户用户。开发者不同于 API7 网关用户(管理网关基础设施)和消费者(用于访问控制的提供商管理的身份)。
注册方式
可以通过多种方式添加开发者:
| 方法 | 描述 |
|---|---|
| 自助注册 | 开发者门户的 config.yaml 中 auth.emailAndPassword.enabled 为 true 时,开发者可以使用电子邮件和密码注册。 |
| 邀请 | 在默认门户实现中,组织所有者和管理员通过电子邮件邀请用户加入组织。根据产品版本和部署方式,Provider Portal UI 中也可能提供开发者邀请流程。 |
| OAuth 登录 | 开发者通过在开发者门户 config.yaml 中配置的 OAuth 提供商进行身份认证。此发布系列的 Provider Portal 不提供登录选项设置。 |
| 自定义预配 | 基于源码定制的门户可以添加 SCIM 等预配功能。发布版前端默认不注册 SCIM 插件。 |
账户状态
开发者账户有两种可能的状态:
| 状态 | 描述 |
|---|---|
| Pending(待审批) | 现有或基于源码定制的流程中,审批请求尚未获批。 |
| Active(活动) | 开发者账户已获批,可以使用全部功能。 |
使用电 子邮件和密码注册会创建一个门户用户。随后创建组织时,控制面会创建一条处于活动状态的开发者记录。发布版 Provider Portal 不提供注册自动审批设置,公开 API 也不会创建开发者注册审批请求。来自其他发布版本或基于源码定制的控制面的现有记录仍可使用 Pending 状态和审批端点。
组织
在基于 API7 Developer Portal Boilerplate 的默认开发者门户实现中,开发者属于某个组织。每个组织与 Provider Portal 中的开发者身份一一对应。
组织支持三种角色:
| 角色 | 权限 |
|---|---|
| Owner(所有者) | 完全访问权限,包括管理组织成员和设置以及删除组织。 |
| Admin(管理员) | 可以管理成员和设置,但不能删除组织。 |
| Member(成员) | 对组织资源拥有只读访问权限。 |
备注
组织模型来自默认开发者门户实现使用的身份认证系统(Better Auth)。如果你在没有 Better Auth 的情况下构建自定义开发者门户,则组织概念可能不适用。
开发者与消费者
开发者和 消费者 都代表访问 API 的实体,但它们有不同的用途:
| 方面 | 开发者 | 消费者 |
|---|---|---|
| 管理方 | 开发者通过开发者门户管理自己的凭证。 | 提供商通过控制台或 Admin API 管理消费者凭证。 |
| 访问控制 | 开发者通过订阅 API 产品请求访问权限,提供商负责审批订阅。 | 提供商直接将消费者分配到允许列表或拒绝列表。 |
| 用例 | 面向内部、合作伙伴或公共开发者的自助 API 访问。 | 由提供商控制的内部服务访问或系统间集成。 |
开发者和消费者可以共存于同一部署中。但是,对于给定服务,请使用 API 产品身份认证(开发者凭证)或网关插件身份认证(消费者凭证),而不是同时使用两者。在同一服务上混合使用身份认证方法可能会导致冲突,每个请求需要多个凭证。
级联删除
删除开发者账户后,以下资源也会被删除:
- 开发者拥有的所有应用程序
- 与这些应用程序相关的所有凭证
- 所有订阅(有效和待审批)
- 所有待审批请求