You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apex 22.1:如何为REST数据源传递JWT以实现LOV功能

解决APEX REST数据源传递动态JWT令牌的问题

可行解决方案

方法1:使用REST数据源的Pre-Request Process

这是最直接可靠的方式,通过在请求执行前运行PL/SQL代码动态设置Authorization头:

  1. 打开目标REST数据源的编辑页面
  2. 切换到Processing标签页,找到Pre-Request Process区域
  3. 点击添加,创建一个PL/SQL进程,输入以下代码:
apex_web_service.set_request_header(
    p_name => 'Authorization',
    p_value => 'Bearer ' || :GLOB_TOKEN
);
  1. 保存设置后,REST数据源每次发起请求时,会自动解析应用项:GLOB_TOKEN的值,生成正确的Authorization头。

方法2:使用动态PL/SQL类型的Web Credential

如果希望通过Web Credential统一管理认证信息,可以创建动态Credential:

  1. 进入Shared Components > Web Credentials,点击创建
  2. 选择PL/SQL Function类型,输入Credential名称(如JWT_DYNAMIC_AUTH)
  3. 在函数体中输入:
return 'Bearer ' || apex_application.g_flow_globals.g_item_values('GLOB_TOKEN');
  1. 回到REST数据源的编辑页面,切换到Authentication标签页
  2. 选择刚才创建的Web Credential,认证类型选HTTP Header,并设置头名称为Authorization
  3. 保存后,每次请求会调用该函数获取动态JWT令牌。

Static标志的作用

在REST数据源的参数(包括请求头参数)配置中:

  • 开启Static标志:APEX会将参数值视为固定字符串,不会解析其中的绑定变量(如:GLOB_TOKEN),直接原样传递给外部服务。
  • 关闭Static标志:APEX会尝试解析值中的绑定变量,但这个解析逻辑仅适用于部分场景(如URL路径参数、查询参数),对于请求头参数,直接使用绑定变量可能无法触发解析,这就是你之前尝试失败的原因。

内容的提问来源于stack exchange,提问作者bjan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 04:00:04