注:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的那些值。
使用 APEX 数据库从 PL/SQL 调用 Oracle 身份域 REST API
简介
本教程以此处提到的 Oracle A Team 博客为基础,它将帮助您提供在 Oracle 身份域中设置此功能的引导式方法。
我们将使用 Oracle APEX 数据库执行 SQL 脚本,该脚本将进行 REST 调用以从 Oracle 身份域获取访问令牌,然后进行调用以创建用户、查询组成员资格和检索用户概要信息属性。PL/SQL 代码使用 APEX 5.1 和程序包 APEX_WEBSERVICE 来调用身份域,使用 APEX_JSON 来解析 JSON 响应。
注意:我们使用的是 Oracle APEX 数据库,该数据库默认情况下将包含 APEX 程序包。如果有必需的 APEX 程序包,则可以在数据库上运行 SQL 脚本。
目标
使用 SQL 程序包使用 APEX 数据库调用身份域端点。
先决条件
对任何身份域的 OCI IAM 管理员访问。
任务 1:从 OCI 启动 APEX 实例
-
使用管理员账户登录 Oracle 身份域,搜索 APEX 应用程序开发,选择要创建实例的区间,然后单击下面的创建 APEX 服务。
-
在配置向导中,提供基本信息。
-
在下一节的配置 APEX 服务中,默认保留所有内容,除非您有任何特殊要求。
-
在下一节中,为 ADMIN 帐户创建口令。
-
在“网络访问”部分中选择从任何位置进行安全访问,并在通知部分中提供联系人电子邮件。最后,单击创建 APEX 服务以启动 APEX 服务。
-
创建服务并变为可用后,单击启动 APEX 选项卡,单击管理服务并使用在步骤 3 中创建的 ADMIN 用户密码登录。
-
登录后,单击创建工作区,然后在新建方案下提供提示所需信息,然后单击创建工作区。
注:请注意在更新 SQL 脚本时需要这些值。
任务 2:在 OCI IAM 中注册机密应用程序
我们将按如下所示注册机密应用程序 OCI IAM 域(对于测试,我们已使用默认域)。
-
登录到身份和安全下的身份域,然后单击应用程序。
-
选择机密应用程序,然后单击启动工作流。
-
将名称添加到应用程序,然后单击下一步。
-
选择客户端身份证明作为授权类型,然后单击下一步。
-
单击完成。
-
单击激活应用程序。
-
请注意 PL/SQL 脚本中使用的客户端 ID 和密钥。
任务 3:更新 SQL 脚本文件并对其进行编译
-
在此处下载 SQL 脚本。
-
在任何文本编辑器中打开 SQL 文件,按照文件中的指示,使用在 1.6 中创建的方案名称更新文件。还在任务 2 下创建的文件中更新 Oracle Identity Cloud Service 应用程序详细信息并保存该详细信息。
-
在 APEX 实例中,单击启动数据库操作选项卡,然后单击 SQL 。
-
复制更新的 SQL 脚本,然后将其粘贴到工作表上。
注:应在左侧面板上选择 ADMIN 选项。
-
编译脚本,您应该会看到一条成功消息。
-
将导航器更改为方案名称,然后在所有对象下,您应该看到客户机软件包,如下所示。
任务 4:运行过程从身份域获取授权令牌
-
从 IDCS 客户机(正文)中,运行过程 get_authz_token ,应获取类似于以下映像的输出。
注:我们从身份域收到的令牌标志着我们能够成功连接到身份域,现在您可以继续,并根据您的用例使用其他预构建过程和函数。
相关链接
从 PL/SQL 调用 Oracle Identity Cloud Service REST API
确认
作者 - Chetan Soni(云解决方案工程师)
更多学习资源
探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Invoke Oracle Identity Domains REST API from PL/SQL using an APEX Database
F82324-01
June 2023
Copyright © 2023, Oracle and/or its affiliates.