了解如何使用 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 的说明
插图 authorization-code-grant-type.png 的说明

数据流包括以下步骤:

  1. 用户请求受保护的 URL。

  2. Oracle Identity Cloud Service 将显示登录页。

  3. 用户提交其登录身份证明。

  4. Oracle Identity Cloud Service 通过 Web 浏览器向 Web 应用程序发出授权代码。

  5. Web 应用程序使用 SDK 交换用户访问令牌的授权代码。

  6. Web 应用程序显示用户的内容。

客户端凭据授予类型

下面是 client-credentials-grant-type.png 的说明
插图 client-credentials-grant-type.png 的说明

数据流包括以下步骤:

  1. 用户请求受保护的 URL。

  2. 请求将转发到 Web 应用程序。

  3. Web 应用程序使用 SDK 将客户端 ID 和密钥提交到 Oracle Identity Cloud Service 进行验证。

  4. Oracle Identity Cloud Service 向 Web 应用程序发出访问令牌。

  5. Web 应用程序显示用户的内容。

如果 Web 应用程序需要访问 Oracle Identity Cloud Service 的 REST API,还可以使用客户端身份证明授权类型。Oracle Identity Cloud Service 发出的用户访问令牌不携带任何用户信息。

资源责任人授权类型

下面是 resource-owner-grant-type.png 的说明
插图 resource-owner-grant-type.png 的说明

数据流包括以下步骤:

  1. 用户请求受保护的 URL。

  2. 应用程序将显示登录页。

  3. 用户提交其登录身份证明。

  4. 应用程序使用 SDK 将用户的身份证明以及应用程序的客户端 ID 和密钥提交到 Oracle Identity Cloud Service 进行验证。

  5. Oracle Identity Cloud Service 向应用程序发出用户访问令牌。

  6. 应用程序显示用户的内容。

资源所有者授权类型与三路授权代码授权类型类似,但应用程序会收集用户的身份证明,并将其与应用程序的客户端 ID 和客户端密钥一起使用,以从 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 产品、解决方案和服务