定制
身份验证时,您可以使用自定义身份提供程序。 您的身份提供者可遵循 IBM Cloud® App ID 没有明确支持的任何认证机制,包括专有认证机制。
App ID 未提供对特定身份提供者的直接支持时,您可以使用定制身份流程将认证协议桥接到 App ID 的现有认证流程。 例如,您希望使用 GitHub 或 LinkedIn 来允许用户登录。 可以使用身份提供者的现有 SDK 来方便地提供用户认证信息,然后打包这些信息,并将其与 App ID 进行交换。 在许多企业场景中,原有身份提供者可能使用其自己的定制认证协议,但您仍然希望利用 App ID 的功能。 对于此类型的场景,定制身份流程提供了分离的方法,以在不公开用户凭证的情况下安全地认证用户。
配置定制身份
您可以使用以下步骤将定制身份提供者配置为使用 App ID。
准备工作
要在 App ID 和定制身份提供者之间建立信任,您必须具有最小长度为 2048 的 RSA PEM 密钥对。 确保安全备份用于生产的任何密钥。
如何使用这些密钥?
- 专用密钥在应用程序或身份提供者中用于对 JWT 签名。
- App ID 使用公用密钥来验证包含用户信息的 JWT。
要使用 Open SSL 来生成 RSA PEM 密钥对,请运行以下命令:
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -pubout -in private_key.pem -out public_key.pem
使用 GUI 进行配置
-
登录到您的 IBM Cloud 帐户,并导航至 App ID 实例。
-
在管理选项卡中,将定制身份提供者设置为开启。
-
向 App ID 注册公用密钥。
- 导航至定制身份提供者选项卡。
- 在公用密钥框中粘贴公用密钥,然后单击保存。
使用 API 进行配置
通过向管理 API 端点发出 PUT 请求来注册密钥。
Put <managementURI>/config/idps/custom
Content-Type: application/json
{
isActive: true,
config: {
publicKey: Your newline separated (\n) PEM public key
}
}
测试您的配置
使用有效的公用密钥配置 App ID 实例后,可以使用服务所提供的测试应用程序来验证是否正确设置了配置。 在示例应用程序中,可以查看在执行标准登录流程期间返回的 App ID 访问令牌和身份令牌有效内容。
如果成功,现在可以在标准登录流程中看到可用于应用程序的已解码 App ID 身份令牌和访问令牌。
后续步骤
既然已配置了定制身份提供者,请将其添加到应用程序!