管理认证
身份提供者 (IdP) 通过认证为移动和 Web 应用程序添加了一层安全性。 通过 IBM Cloud® App ID,可以配置一个或多个身份提供者来为用户创建定制登录体验。
App ID 使用各种协议(例如,OpenID Connect 和 SAML 等)与身份提供者进行交互。 例如,OpenID Connect 是用于许多社交提供者(例如,Facebook 和 Google)的协议。 Azure Active Directory 或 Active Directory Federation Service 等企业提供商通常使用 SAML 作为身份协议。 对于云目录,SCIM 用于验证身份信息。
使用社交或企业身份提供者时,App ID 可读取用户帐户信息。 由于服务从不具有对信息的写访问权,因此用户必须通过其所选身份提供者来执行操作,如重置其密码。 例如,如果用户使用 Facebook 登录到应用程序,然后希望更改自己的密码,那么他们必须转至 www.facebook.com
来执行此操作。 {: note}a
使用 Cloud Directory 时,App ID 是身份提供者。 该服务会使用注册表来验证用户身份。 由于 App ID 是身份提供者,因此用户可以直接利用应用程序中的高级功能(例如,重置其密码)。
在使用应用程序身份? 请查看应用程序身份。
可以将多个身份提供者配置为供 App ID使用。 请查看下表以了解有关选项的信息。
身份提供者 | 类型 | 描述 |
---|---|---|
Cloud Directory | 受管注册表 | 您可以在云中维护自己的用户注册表。 用户向应用程序注册时,会将其添加到您的用户目录中。 通过此选项,用户能够在应用程序中更自由地管理自己的帐户。 |
SAML | 企业 | 可为用户创建单点登录体验。 |
社交 | 用户可以使用其 Facebook 凭证登录到应用程序。 | |
Google+ | 社交 | 用户可以使用其 Google 凭证登录到应用程序。 |
定制 | 定制 | 如果提供的选项都不符合您的特定需求,那么您可以配置自己的身份流程来使用 App ID。 |
管理提供者
身份提供者可创建和管理有关实体(例如,用户、功能标识或应用程序)的信息。 提供者使用凭证(例如,密码)来验证实体的身份。 然后,IdP 会将身份信息发送回 App ID,这将对用户授权并授予其对应用程序的访问权。
- 导航至服务仪表板。
- 在导航的身份提供者部分中,选择管理页面。
- 在身份提供者选项卡上,将要使用的提供者设置为开启。
- 可选:决定是关闭匿名用户还是保留缺省值(即开启)。 设置为开启时,用户属性会在用户开始与应用程序交互的那一刻与用户相关联。 有关如何成为已识别用户的更多信息,请参阅渐进式认证。
App ID 提供缺省凭证,以帮助您初始设置 Facebook 和 Google+。每个实例每天只能使用 20 个凭证。 由于这些是 IBM 凭证,因此只能用于开发环境。 在发布应用程序之前,请将配置更新为您自己的凭证。
添加重定向 URI
应用程序将该用户重定向到 App ID 以进行认证。 认证完成后,App ID 会将用户重定向回应用程序。 为了让 App ID 能够将用户重定向回您的应用程序,您需要注册重定向 URI。 在登录流程期间,App ID 在允许客户端参与授权工作流程之前,会先验证 URI,这有助于防止钓鱼攻击和授权代码泄漏。 通过注册 URI,即向 App ID 表明该 URI 是可信的,重定向您的用户没有问题。
-
单击认证设置以查看 URI 和令牌配置选项。
-
在添加 Web 重定向 URI 字段中,输入 URI。 每个 URI 必须以
http://
或https://
开头,并且必须包含完整路径,包括任何查询参数,这样重定向才能成功。 需要帮助来设置 URI 的格式吗? 请查看下表以获取一些示例。网络重定向 URI 示例 类型 示例 URI 定制域 https://mydomain.net/myapp2path/appid_callback
Ingress 子域 https://mycluster.us-south.containers.appdomain.cloud/myapp1path/appid_callback
通配符 https://mydomain.net/*
注意:不建议在生产应用程序中使用通配符。建议始终使用加密并避免使用 HTTP。
-
单击添加 Web 重定向 URI 框中的 + 号。
确保仅注册您信任的应用程序的 URI。
-
重复步骤 1 到 3,直到将所有可能的 URI 都添加到列表中。
配置令牌生存期
App ID 使用令牌来识别用户并确保资源安全。 您可以通过设置令牌生存期来调整配置,使其适合应用程序需求。 令牌生存期在每次用户登录时会重新开始。 例如,将刷新令牌生存期设置为 10 天。 用户首次登录时,将创建访问令牌和刷新令牌。 如果用户在 3 天后返回到应用程序,那么他们无需再次登录。 但是,如果用户在其初始登录后过了 12 天再返回到应用程序,那么他们需要重新登录。 有关令牌的更多信息,请查看了解令牌。
当您设置令牌过期时,该值将适用于您提供的所有提供程序。 如果要进一步定制令牌,请尝试调用 API 来映射定制声明,以便用户信息在运行时可用。 使用 API 时,自定义时间的配置有所不同。
-
转至服务仪表板的管理认证 > 认证设置选项卡。
-
在登录到期时间选项卡中,将刷新令牌切换到已启用。
-
为每种令牌类型添加值,如下表所述。
令牌类型和定制选项 令牌类型 描述 缺省值 选项 访问 访问令牌有效的时间长度。 该值越小,防止令牌被盗的保护力度越大。 60 分钟 范围在 5 到 1440 之间的任何值 刷新 刷新令牌有效的时间长度。 该数字越小,用户必须重新登录的频率越高。 30 天 范围在 1 到 90 之间的任何值 匿名 匿名令牌有效的时间长度。 匿名令牌会在用户开始与您的应用程序互动时分配给他们。 用户登录后,匿名令牌中的信息随即会传输到与该用户关联的令牌。 30 天 范围在 1 到 90 之间的任何值 身份令牌会自动配置为与设置的访问令牌时间长度相匹配。 这两个值必须相同。
-
单击保存。