了解如何使用 SDK 验证应用程序
Oracle Identity Cloud Service 可为您的应用提供身份管理、单点登录 (SSO) 和身份治理。它还为 Oracle Cloud 提供了安全平台,使您能够安全、轻松地访问、开发和部署应用。
Oracle Identity Cloud Service 可以用作身份提供者,集中身份验证机制,处理所有密码管理职责并为应用程序提供 SSO。此外,您可以通过启用多因素身份验证 (Multi-Factor Authentication,MFA) 以及实施强制执行补救操作的策略(例如,允许或拒绝用户访问应用程序)来增强应用的安全性。
如果要开发使用 Oracle Identity Cloud Service 验证机制的应用程序,请使用 SDK。Oracle Identity Cloud Service 的 SDK 基于行业标准协议和层,例如 OAuth 2.0 和 OpenID Connect 1.0。通过将所有必要的 REST API 端点调用封装起来,使用 Oracle Identity Cloud Service 验证用户,SDK 可以让您的工作更加轻松。
Oracle Identity Cloud Service SDK 支持 OAuth 2.0 和 OpenID Connect 1.0 的以下流:
-
三路流:用户直接与 Oracle Identity Cloud Service 交互。用户登录后,Oracle Identity Cloud Service 将发出授权代码,该授权代码由 SDK 交换为用户访问令牌。此访问令牌用于授予用户对应用程序中受保护资源的访问权限。三路流使用授权代码授权类型。
Oracle 建议使用三路流将 Web 应用程序与 Oracle Identity Cloud Service 集成以进行验证。此外,通过使用授权代码授权类型,您可以访问受 Oracle Identity Cloud Service 保护的其他应用程序,而无需重新验证。
-
双向流:用户不会直接与 Oracle Identity Cloud Service 交互。而是在可信应用与 Oracle Identity Cloud Service 之间进行所有通信。这些应用程序从 Oracle Identity Cloud Service 请求和接收用户访问令牌,以向用户授予对应用程序中受保护资源的访问权限。双向流使用客户端身份证明或资源所有者授权类型。
体系结构
以下体系结构图说明了使用 SDK 库对 OAuth 2.0 和 OpenID Connect 1.0 执行双向和三向验证流的 Web 应用程序。三路流使用授权代码授权类型,双路流使用客户端身份证明和资源所有者授权类型。
授权代码类型
插图 authorization-code-grant-type.png 的说明
数据流包括以下步骤:
-
用户请求受保护的 URL。
-
Oracle Identity Cloud Service 将显示登录页。
-
用户提交其登录身份证明。
-
Oracle Identity Cloud Service 通过 Web 浏览器向 Web 应用程序发出授权代码。
-
Web 应用程序使用 SDK 交换用户访问令牌的授权代码。
-
Web 应用程序显示用户的内容。
客户端凭据授予类型
插图 client-credentials-grant-type.png 的说明
数据流包括以下步骤:
-
用户请求受保护的 URL。
-
请求将转发到 Web 应用程序。
-
Web 应用程序使用 SDK 将客户端 ID 和密钥提交到 Oracle Identity Cloud Service 进行验证。
-
Oracle Identity Cloud Service 向 Web 应用程序发出访问令牌。
-
Web 应用程序显示用户的内容。
如果 Web 应用程序需要访问 Oracle Identity Cloud Service 的 REST API,还可以使用客户端身份证明授权类型。Oracle Identity Cloud Service 发出的用户访问令牌不携带任何用户信息。
资源责任人授权类型
插图 resource-owner-grant-type.png 的说明
数据流包括以下步骤:
-
用户请求受保护的 URL。
-
应用程序将显示登录页。
-
用户提交其登录身份证明。
-
应用程序使用 SDK 将用户的身份证明以及应用程序的客户端 ID 和密钥提交到 Oracle Identity Cloud Service 进行验证。
-
Oracle Identity Cloud Service 向应用程序发出用户访问令牌。
-
应用程序显示用户的内容。
注意:
在资源所有者授权类型中,应用程序无法参与 Oracle Identity Cloud Service 提供的 SSO 进程。如果希望应用程序使用 Oracle Identity Cloud Service 验证机制,则使用三路授权代码授权类型。关于必需的服务和角色
此解决方案需要 Oracle Identity Cloud Service 。
这些是所需的角色。
角色 | 要求 ... |
---|---|
Security administrator |
访问 Oracle Identity Cloud Service 控制台的下载页。在此页中,您可以下载 Java SDK。 |
Application administrator |
在 Oracle Identity Cloud Service 中管理应用程序。这包括向 Oracle Identity Cloud Service 注册示例 Java 应用程序。 |
要满足您的需求,请参阅 Oracle 产品、解决方案和服务。