如何在Azure Data Factory中使用Salesforce生成的JWT access token
核心问题答复
你在Azure Data Factory(ADF)Salesforce链接服务配置页要求填写的username、password,完全不等于你生成access token时用到的client Id和app secret,二者属于不同OAuth授权流程的凭证,不能混用。
无需修改现有代码的解决方案
- 方案1:替换原生Salesforce连接器为ADF通用REST连接器
你可以直接调用Salesforce官方标准REST/SOAP API,完全复用你现有服务器到服务器OAuth生成access token的逻辑,只需要在API请求头中添加Authorization: Bearer <你生成的access token>即可实现数据拉取,不需要适配ADF原生连接器的用户名密码要求。 - 方案2:搭配ADF自定义活动/Web活动扩展
你可以将现有生成access token的代码部署为Azure Function,或者直接用ADF Web活动调用你现有token生成接口,拿到有效token后再调用Salesforce接口拉取数据,原有业务逻辑不需要做任何改动。
补充说明
ADF官方提供的原生Salesforce连接器目前仅支持用户名密码流实现身份认证,这是产品当前的设计限制。如果你不想使用该安全风险较高的授权流,直接采用上述两种替代方案即可完成对接,不需要更换你已有的服务器到服务器OAuth授权流程。
内容的提问来源于stack exchange,提问作者ahmed nader
相关产品推荐
相关产品推荐

