注意:

使用 OCI IAM 使用设备代码流启用 Excel-to-Component 接口实用程序 SSO

简介

PeopleSoft 中的 Excel 到组件接口(Excel 到 CI)实用程序是一个非常宝贵的工具,使用户能够通过标准用户名和密码验证将 Microsoft Excel 电子表格中的数据无缝导入到 PeopleSoft 数据库。每个源工作簿都包含工作表和 Excel Visual Basic 代码模块,它们执行每个事务处理的基本业务逻辑。有关更多信息,请参阅了解 Excel 到组件的接口实用程序

随着 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 的快速发展,对 PeopleSoft 等支持单点登录 (SSO) 的应用的需求变得越来越重要。这种演变反映了简化用户体验、增强安全性和简化跨多个平台访问的需求,允许用户在保持可靠身份验证协议的同时无缝导航。

OCI IAM 是一个强大的框架,可用于管理用户和角色、促进用户联盟和预配以及通过基于 Oracle SSO 配置和安全断言标记语言 (SAML)/OAuth 的身份提供者 (IdP) 管理实现安全应用集成。值得注意的是,它具有 Oracle 身份域应用程序网关,该网关支持使用基于标头的身份验证(例如 PeopleSoft)的应用程序进行单点登录 (SSO)。有关详细信息,请参阅使用 OCI IAM 身份域为 PeopleSoft 应用程序配置无缝验证

在本教程中,我们将探讨传统 Excel 到 CI 工作表的转换,对其进行现代化以支持标准身份验证协议。我们将深入研究如何利用 OCI IAM SSO 来验证用户身份,从而通过这些增强的电子表格实现无缝数据上载。

PeopleSoft 与 OCI IAM 的 SSO 集成

PeopleSoft 通过应用程序网关与用于 SSO 的 OCI IAM 集成,该网关用作反向代理。它拦截对 PeopleSoft Web 界面的 HTTP 请求,确保用户已登录并获得授权。OCI IAM 身份域管理 PeopleSoft 应用程序的验证。

OCI IAM 设备代码流支持简介

设备代码流允许在缺少 Web 浏览器的设备或操作系统上进行用户验证。此方法允许用户使用其他设备(如计算机或手机)以交互方式登录。下图说明了设备代码流的工作方式。

设备代码流

有关设备代码流及其在 OCI IAM 中的配置的更多信息,请参见 Using the IDCS OAuth Device Flow for Fun and ProfitDevice Code Grant Type

此外,我们了解设备代码流与 Microsoft Excel 电子表格兼容。有关更多信息,请参见 Excel,OAuth 2.0 and Device Code Flow 。我们将增强传统的 Excel 到 CI 电子表格以支持设备代码流。让我们首先在 OCI IAM 中创建机密应用程序,以促进此集成。

目标

先决条件

任务 1:为设备代码流创建机密应用程序

我们将使用允许的授权类型设备代码在 OCI IAM 身份域下注册一个机密应用程序,该应用程序与您的 PeopleSoft for SSO 集成。

  1. 登录到 OCI 控制台,在身份域下,单击域信息并复制身份域 URL

    域 -url

    注:从域 URL 末尾排除 :443 ,我们将在任务 6 中需要此信息。

  2. 转到导航菜单,然后单击应用程序

    附加应用程序

  3. 选择机密应用程序,然后单击启动工作流

    create-confidential-application

  4. 为应用程序输入名称,然后单击下一步

    app-name

  5. 选择 Skip for later(跳过以供以后使用),选择 Device Code(设备代码)作为 Allowed grant types(允许的授权类型),然后单击 Next(下一步)

    授权类型

  6. 单击 Finish(完成)。

    完成

  7. 单击激活以激活应用程序。

    激活

  8. 记下客户端 ID客户端密钥,以在进一步配置中使用它。

    客户机 -id-secret

任务 2:使用设备代码流将 Excel 转换为 CI 和 OCI IAM 体系结构

使用设备代码流将数据提交到 PeopleSoft 数据库的步骤。

  1. 设备代码流启动:当用户尝试将数据提交到 PeopleSoft 数据库时,Excel 工作表将启动设备代码流。

  2. 用户代码显示:向用户显示一个 6 字母的用户代码,在获取访问令牌时必须复制该用户代码以供将来使用。

  3. 浏览器验证:记录用户代码后,Excel 工作表将自动打开默认 Web 浏览器并提示用户登录。如果会话已处于活动状态,用户将自动登录。

  4. 输入用户代码:成功登录并完成任何多因素验证 (multi-factor authentication,MFA) 要求后,浏览器将提示用户输入之前复制的用户代码。

  5. 访问令牌发布:成功提交用户代码后,将向 Excel 工作表发放访问令牌,使其能够将数据提交到 PeopleSoft 数据库。

下图显示了更多检测中的设备代码流。

流程图

为了促进这一过程,我们将继续修改 VB 代码,并增强验证和数据提交模块。

任务 3:使用设备代码流更新用于登录的 VB 代码

从此处下载 Excel 到 CI 电子表格的副本:ExcelToCI Sheets_ExcelToCI2007-AppG_SampleFile.zip 并保存到本地系统,您可在其中拥有原始 Excel 到 CI 电子表格。文件夹还应包含相关文件 RelLangMacro.xla,以便 Excel 到 CI 的正常运行。

  1. 打开 Excel 到 CI 电子表格并使用 PeopleSoft 应用程序网关详细信息更新连接信息工作表。输入以下信息。

    • Web 服务器名称
    • 协议
    • HTTP 端口

    连接信息

  2. 单击 Developer(开发人员)Visual Basic(Visual Basic) 以打开 MicroSoft Visual Basic for Applications。单击模块

    模块

  3. 模块下,展开登录模块,并在以下提到的函数中更新在任务 1 和 OCI IAM 域 URL 中创建的机密应用程序的客户端 ID客户端密钥,然后保存文件。

    注:电子表格包含备注,以帮助您了解应在何处添加详细信息。

    1. Public Function getLoginInformation
    2. Public Function makeInstrospectRequest
    3. Public Function makeIDCSRequest

    注:

    • 概念验证:此工作表用作概念验证,证明 Excel 到 CI 可以支持设备代码流将数据提交到 PeopleSoft 数据库。

    • 代码质量:请注意,代码可能不符合 VB 编码中的最佳实践。我们强烈建议您在将测试部署到生产环境之前对您的端进行全面测试。

    • 数据提交测试:电子表格已针对数据提交用例进行了测试。如果它默认为任何其他功能的用户名和密码验证,则可以修改 VB 模块以加入设备代码逻辑以改进功能。

    • 引用检查:此外,在 Microsoft Visual Basic for Applications 页面的工具下查看 Excel 到 CI 引用,以确保与以下屏幕截图一致。

      引用

任务 4:使用设备代码流测试数据上载

  1. 数据输入中添加示例数据,然后单击加载项要提交的阶段数据

    示例数据

  2. 准备和提交表中,您应该能够看到要提交到 PeopleSoft 数据库的新数据条目。单击加载项提交数据

    提交数据

  3. Excel 工作表现在将启动设备代码流,并显示用户代码,并记下它。单击确定,您将重定向到 OCI IAM 登录页。

    启动设备代码

    用户代码

  4. 使用 SSO 凭据登录到 OCI IAM。

    联合登录

  5. 代码中输入用户代码,然后单击提交

    输入用户代码

  6. 如果用户代码正确,您将看到一个祝贺屏幕,确认您对应用程序的访问权限。

    访问权限授予时间

  7. 访问令牌会发送回 Excel 工作表,该工作表用于将数据提交到 PeopleSoft 数据库。您应该会看到确定数据条目确认数据提交。

    提交的数据

    工作表将存储访问令牌详细信息以供下次执行,除非访问令牌处于活动状态,否则不会要求您通过设备代码流

Excel 至 CI 表中的改进机会

确认

更多学习资源

浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心