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

用户名密码获取JWT的认证流能否适配Salesforce Named Credentials

认证方案属性

你描述的认证流属于 资源所有者密码凭据流(Resource Owner Password Credentials Flow,简称ROPC流) 的变种,是非常常见的面向服务对接的认证方案。和标准OAuth2 ROPC流的唯一区别是标准流要求用application/x-www-form-urlencoded格式传递账号密码参数,你对接的服务要求用JSON格式传参,核心逻辑完全一致:直接传入用户身份凭证换取JWT令牌,后续业务请求携带Bearer令牌完成身份校验。

Salesforce Named Credentials适配方案

能不能直接适配取决于你用的Named Credentials版本:

1. 下一代Named Credentials(Summer '23及以后版本支持):可原生适配

不需要手动写令牌获取、缓存、刷新逻辑,按照以下步骤配置即可:

  • 新建外部凭据(External Credential),认证协议选择「自定义」
  • 配置令牌获取规则:指定令牌接口地址、POST请求方式、Content-Type: application/json请求头,自定义JSON格式的请求体,将用户名、密码配置在凭据的Principal中做加密存储
  • 配置令牌响应解析规则,指定从返回体的securityToken字段提取访问令牌,同时配置令牌有效期、自动刷新规则
  • 新建Named Credentials绑定上述外部凭据,根地址填写你的服务根地址https://SERVICE_URL
  • 后续Apex调用直接关联该Named Credentials即可,Salesforce会自动在请求头注入Authorization: Bearer {有效令牌},令牌过期后会自动重新获取

2. 旧版(Legacy)Named Credentials:无法原生适配,需手动处理令牌逻辑

如果你的Salesforce实例还不支持下一代Named Credentials,需要自行实现令牌全生命周期管理:

  • 你可以把用户名、密码存在Legacy Named Credentials的账号密码字段中,避免明文存储敏感信息
  • 手动写Apex逻辑调用/token接口,解析返回的securityToken,将令牌存入Platform Cache,过期时间和令牌返回的有效期保持一致
  • 调用业务接口时先从缓存取有效令牌,加到请求头的Authorization字段中,如果缓存中无有效令牌则重新调用令牌接口获取新令牌

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:36:03