了解如何使用 Python SDK 使用 Oracle Identity Cloud Service 验证应用程序

如果要开发使用 Oracle Identity Cloud Service 验证机制的 Python Web 应用程序,请使用 Python SDK。此 SDK 封装了所有必需的 REST API 端点调用,用于使用 OpenID 连接流通过 Oracle Identity Cloud Service 对用户进行身份验证。

Oracle Identity Cloud Service 为您的应用程序提供身份管理、单点登录 (SSO) 和身份监管。此外,它还为 Oracle Cloud 提供安全平台,让您能够安全、轻松地访问、开发和部署应用。Oracle Identity Cloud Service 可以作为身份提供者,集中身份验证机制,处理所有密码管理职责,并为您的应用程序提供 SSO。

Oracle 提供了一个示例应用程序,您可以与 Oracle Identity Cloud Service 集成以进行验证,而无需从头开始创建 Python Web 应用程序。此应用程序是使用 Python 的 DJango Web 框架开发的。

示例 Python Web 应用程序包含两种类型的内容:

  • 可公开访问的页面

  • 用于验证当前用户会话中与应用程序是否存在 Oracle Identity Cloud Service 用户访问令牌的专用页

体系结构

下图展示了 Python Web 应用程序如何使用 SDK 库使用 Oracle Identity Cloud Service 执行三路 OpenID Connect 验证流。此验证流是基于授权代码授权类型的 OAuth 2.0 授权流。使用此授权类型时,用户必须登录到 Oracle Identity Cloud Service 。用户登录后,可以访问受 Oracle Identity Cloud Service 保护的其他应用程序,而无需重新验证。

图 - 授权代码授予类型

后面是图 - 的说明
“图 - 授权代码授予类型”的说明

授权代码授权类型包含以下步骤:

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

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

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

  4. Oracle Identity Cloud Service 向 Python 应用程序发出授权代码。

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

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

此解决方案中的 Python Web 应用程序不会发布到生产环境中,也不会遵循使用 Python 的最佳实践,例如数据处理、模式和安全性。此示例应用程序的唯一用途是说明如何使用 SDK 集成 Oracle Identity Cloud Service 和 Python Web 应用程序。

关于必需的服务和角色

此解决方案需要访问 Oracle Identity Cloud Service

这些是 Oracle Identity Cloud Service 所需的角色。

服务名:角色 必需 ...
Oracle Identity Cloud Service : Security administrator 访问 Oracle Identity Cloud Service 控制台的下载页。您可以从此页面下载 Node.js SDK。
Oracle Identity Cloud Service :Application administrator Oracle Identity Cloud Service 中管理应用程序。这包括向 Oracle Identity Cloud Service 注册示例 Node.js 应用程序。

要获取所需的资源,请参阅 Oracle 产品、解决方案和服务