创建认证 URL 用户注册表

“认证 URL”用户注册表提供一种简单机制,用于通过引用定制身份提供者来认证用户。

关于本任务

本主题描述了如何将新“认证 URL”用户注册表创建为组织中的资源。 在创建用户注册表后,必须将用户注册表添加到沙箱目录。

需要以下某个角色才能配置用户注册表:
  • 管理员
  • 组织所有者
  • 定制角色Settings: Manage许可权
注:
API Connect 向身份验证 URL 端点发出 HTTP GET 调用,发送用户凭据。 以下示例显示对具有定义为 https://myauthurl.example.com/user/authenticate 的端点的认证 URL 身份提供者的调用:
GET /user/authenticate HTTP/1.1
 Host: myauthurl.example.com
 Authorization: Basic c3Bvb246Zm9yaw=
如果认证 URL 端点返回 HTTP 状态码 200,那么表示用户成功认证。 200 之外的 HTTP 状态码指示登录尝试失败。 API Connect 转发任何以 开头的 X- HTTP 头信息( 除外),并将 Cookie 发送给身份验证 X-Client-CertificateURL 身份提供者,以帮助做出身份验证决定;例如
GET /user/authenticate HTTP/1.1
 Host: myauthurl.example.com
 Authorization: Basic c3Bvb246Zm9yaw=
 X-Forwarded-For: 8.8.9.9
 X-Custom-Header-From-Customer: special
 Cookie: MyCookie=VGhpc0lzV2lja2VkQW1hemluZw==
当用户看到用于完成 API Connect 用户注册的表单时,哪些字段是预填充的取决于身份验证 URL 身份提供商的响应中返回了哪些字段。 如果返回以下任何字段,那么它们将在注册表单中预先填充:
  • username
  • email
  • first_name
  • last_name
如果未返回 username 字段,那么注册表单显示用户提供的用户名。 预填充功能要求来自认证 URL 身份提供者的响应满足以下条件:
  • Content-Type 必须为 application/json
  • 响应主体格式必须是 JSON。
样本响应如下:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache

{
  "username":"myuser",
  "email":"myuser@example.com",
  "first_name":"My",
  "last_name":"User"
}

过程

  1. API Manager中,单击 资源 资源
  2. 选择 用户注册表 以查看组织中当前用户注册表的列表。
  3. 单击 " 用户注册表 " 部分中的 创建
    重要: 当启用自助入职服务或预计在任何站点删除帐户时,请勿在 API 管理器开发人员门户网站之间或开发人员门户网站站点之间共享用户注册表。 您应该为它们创建单独的用户注册表,即使单独的注册表指向相同的后端认证提供程序 (例如, LDAP 服务器) 也是如此。 这种分离使开发人员门户能够在整个目录中维护唯一的电子邮件地址,而无需 API 管理器满足同样的要求。 这也避免了用户从开发人员门户网站删除账户后影响其 API 管理器访问的问题。
  4. 选择验证 URL 用户注册表 ,然后输入以下参数:
    字段 描述
    标题(必填) 输入要在屏幕上使用的描述性名称。
    名称(必填) 在 CLI 命令中使用的名称。 名称是自动生成的。 有关用于管理用户注册表的 CLI 命令的详细信息,请参阅 工具箱 CLI 参考文档
    摘要(可选) 输入简短描述。
    显示名称(必填) 在登录到用户界面或激活其 API Manager 帐户时显示供用户选择的名称。
    注: Developer Portal 在登录页面 (而不是 Display Name) 上呈现用户注册表时使用用户注册表的 Title
    URL(必需) 输入认证服务的 URL。 建立身份验证时, API Connect 会对 URL 进行 GET 调用。 此调用包含从用户的 authorization 头中收集的用户名和密码。 任一200 OK401 Unauthorized将返回。
    TLS 客户机概要文件(可选) 选择 TLS 客户机概要文件以允许使用特定 Web 服务器进行安全认证。
    区分大小写 要确保正确处理用户名大写,必须确保此处的区分大小写设置与后端认证 URL 服务器上的设置匹配:
    • 当后端服务器支持区分大小写时,才选择区分大小写
    • 如果后端服务器不支持区分大小写,请选择区分大小写
    注: Developer Portal 不支持区分大小写的用户名。
    注: 在至少有一个用户已加入注册表后,无法更改此设置。
    需要电子邮件 如果在用户加入过程中需要电子邮件地址,请选中此复选框。 如果选择了此选项,那么源身份提供者必须在加载期间提供电子邮件地址作为认证过程的一部分。
    注意: 默认情况下,登录云管理器API 管理器时不需要电子邮件地址,但登录开发人员门户时需要。
    唯一电子邮件地址 如果电子邮件地址在用户注册表中必须唯一,请选中此复选框。
    注意: 开发人员门户中的每个账户(包括同一站点的不同用户注册)都必须有一个唯一的电子邮件地址,包括站点管理员账户。
  5. 单击保存
  6. 将用户注册表添加到沙箱目录。 请参阅 创建和配置目录

结果

可以在 API 的“安全性定义”中使用该用户注册表进行基本认证。 有关更多信息,请参阅定义基本身份验证安全方案