了解 Web 应用程序与 Oracle Identity Cloud Service 之间的验证

您已准备好了解以下内容:

  • 何时使用 Oracle Identity Cloud Service SDK

  • 这些 SDK 的工作原理

  • 使用 SDK 之前应了解、拥有或使用哪些功能

  • 是使用 Java、Node.js 还是 Python SDK

何时使用 Oracle Identity Cloud Service SDK

假设您要开发 Java、Node.js 或 Python Web 应用程序,并将这些应用程序部署到内部部署服务器或基于云的平台服务(例如 Oracle Application Container Cloud Service)。您希望 Oracle Identity Cloud Service 处理 Web 应用程序的验证职责。您可以使用 Oracle Identity Cloud Service SDK 执行此操作。

这些 SDK 已由 Oracle 进行测试。SDK 会包装应用需要进行的所有 REST API 端点调用,以便通过 Oracle Identity Cloud Service 对用户进行身份验证。

使用 SDK 的其他优点包括:

  • 简化 Web 应用与 Oracle Identity Cloud Service 之间的通信

  • 简化 Web 应用程序如何交换用户访问令牌的授权代码以标识 Oracle Identity Cloud Service 中的注册用户

  • 允许用户通过 Oracle Identity Cloud Service 提供的 SSO 访问您的 Web 应用程序

了解 Oracle Identity Cloud Service SDK 的工作原理

Java SDK 是类和方法的集合,Node.js 和 Python SDK 包含文件和函数。这些集合被组合成库和框架。您只需在应用项目中包括 SDK 库或框架,然后编译应用并将其部署到应用服务器或容器。

在使用 SDK 之前,必须在 Oracle Identity Cloud Service 中将应用程序注册为可信应用程序。Oracle Identity Cloud Service 为应用程序生成客户端 ID 和客户端密钥。客户端 ID 和客户端密钥等效于 SDK 用于与 Oracle Identity Cloud Service 通信的身份证明(例如 ID 和密码)。

要与 Oracle Identity Cloud Service 通信,SDK 还需要其他详细信息,例如:

  • 受众服务 URL:Oracle Identity Cloud Service 实例的 URL(例如 https://idcs-abc123456789.identity.oraclecloud.com

  • 范围:与 Oracle Identity Cloud Service 通信以验证用户(例如 openid )时应用程序所需的访问权限

  • 重定向 URL:应用程序的回调 URL,Oracle Identity Cloud Service 使用该 URL 在用户登录后将 Web 浏览器重定向到用户(例如 http://localhost/callback

使用须知

Oracle Identity Cloud Service Java、Node.js 和 Python SDK 使用第三方库。每个 SDK 都经过验证,可以与这些库的特定版本一起使用。

在使用 SDK 之前,请验证与 SDK 关联的第三方库是否与您的 Web 应用程序可能正在使用的任何其他库不冲突。此外,您应该具有以下内容:

  • 了解 Java、Node.js 或 Python 编程语言的基本知识,以了解与每个 SDK 关联的代码的逻辑

  • 与应用程序语言关联的 SDK

  • 访问 Oracle Identity Cloud Service 实例

  • Oracle Identity Cloud Service 中的身份域管理员或应用程序管理员帐户,以便可以将 Web 应用程序注册为可信应用程序

确定要使用的 SDK

如果您正在开发 Java、Node.js 或 Python Web 应用程序,并且希望使用 Oracle Identity Cloud Service 作为应用程序的验证机制,则使用与应用程序语言关联的 SDK。

如果您在 Oracle Identity Cloud Service 中具有身份域管理员或安全管理员帐户,则可以从 Identity Cloud Service 控制台的下载页下载 SDK。为此,请执行以下操作:

  1. 在 Identity Cloud Service 控制台中,展开导航抽屉,单击设置,然后单击下载

  2. 下载页面中,单击要下载的 SDK 右侧的下载

您可以下载适用于以下语言的 SDK 作为 zip 文件:

  • Java:此压缩文件包含一个 JAR 库文件。必须将此文件添加到应用程序的 lib 文件夹中,或者将其安装到部署应用程序的应用服务器中。

  • Node.js:此压缩文件包含一个护照策略文件夹,您必须将其包含在应用程序的 node_modules 文件夹中。

  • Python:此压缩文件包含两个 python 文件:IdcsClient.pyConstants.py 。必须将这些文件添加到应用程序的项目中。

为了了解如何使用每个 SDK,Oracle 为每种语言提供了一个示例 Web 应用程序。示例应用程序实现了两个用例:一个用于通过 Oracle Identity Cloud Service 验证用户,另一个用于从登录用户访问详细信息。