news 2026/4/20 22:17:49

OAuth2 cpi sfapi

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OAuth2 cpi sfapi

导读

OAuth 2.0:是一个开放的授权框架,当用户想要访问Service Provider提供的资源时,OAuth客户端可以从IdP(Identity Provider)获得授权而不需要获取用户名和密码就可以访问该资源题。

作者:vivi,来源:osinnovation

1 故事背景

最近有几个朋友总是问如何调用SFAPI,今天写一篇文章总结下如何调用SF的SFAPI与ODATAAPI,考虑到基础权限调用可能会被废弃,今天介绍的是通过oauth的方式访问sf的api,下图是oauth的调用逻辑图。

2 技术实现

2.1 登录CPI的系统,找到密钥库,需要新增对应密钥对。

2.2 别名可以随便取名字,但是公用名称不能随便设置,这个地方要设置SF系统的登录用户名,这里一定要注意他有api的访问权限,否则后面无法连接到SF系统。

2.3 生成后证书,需要下载刚才生成的证书。

2.4 需要用记事本的方式打开刚才下载的证书,我们需要把里面的内容贴到SF系统中。

2.5 登录sf系统,设置oauth,其中x.509中是cpi的加密文件,我们不要用sf的geneerate生成的509文件,需要用cpi生成的x509。点完成后,系统会自动生成API KEY的值。

2.6 我们需要到安全材料中生成oauth saml的断言,因为oauth一般有四种模式,我们采用的是oauth2 saml的方式。

2.7 需要填写的字段是密钥、令牌服务、公司标识、密钥对别名等信息。

客户端密钥:sf生成的oauth的api key值

令牌服务 URL:sfapi地址+/oauth/token,例如https://api10preview.sapsf.com/oauth/token

密钥对别名:下面的sfapi的值

2.8 完成上述功能后,我们需要就是需要到CPI环境中设置链接,注意我们这是用的SFAPI。

2.9 完成上述配置后,我们就需要通过oauth方式访问sfapi,凭据名称是CPI系统安全材料设置的oauth saml的信息。

2.10 连接通过后,系统会自动抓取到SFAPI里面的表,我们需要选到下面选中的表,因为这个表是个汇总表,所以可能抓增量的模式。

2.11 选完表后,我们需要去勾选里面的字段,其实字段就是一个一个表,因为是汇总表,所以字段就是汇总表里面的子表。

2.12 完成后就可以部署CPI的服务,系统就向SF发送查询指令,我们需要到SF系统查询相关日志。

    <QueryString>SELECT DRTMPurgeStatusOverview,address_information,cust_PensionContribute,cust_WithholdIncomeTax,employment_information,job_information,national_id_card,person,personal_information,person/employment_information/associated_employee_information(person_id_external),person/employment_information/associated_employee_information/associated_employee_employment_information(employment_id),person/employment_information/associated_employee_information/associated_employee_employment_information/associated_employee_job_information(emplStatus,company,company_territory_code) from CompoundEmployee WHERE replicationTargetSystem = 'LOGSPRD100' AND replicationContentType IN ('EMPLOYEE_MASTER_DATA','EMPLOYEE_ORG_ASSIGNMENT') AND person_id_external IN ('ACC030630') AND isContingentWorker IN ('0','1') AND effective_end_date &gt;= to_date('2025-02-01') AND employment_end_date &gt;= to_date('2025-02-01') AND hiringNotCompleted = 'false' AND assignment_class IN ('ST','GA')</QueryString><SFAPIParameterString>agent=ERPPayOrgHCI;resultOptions=allJobChangesPerDay;segmentsForEnhancedEffectiveEndDateFilter=job_information</SFAPIParameterString></EmployeeMasterDataAndOrgAssignmentBundleReplicationSelection>

    2.13 如果需要选中过滤条件,可以限制对应的条件。

    版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
    网站建设 2026/4/20 22:10:15

    Golang怎么用gRPC Gateway_Golang gRPC Gateway教程【经典】

    gRPC Gateway 404/503 根本原因是 handler 未注册到独立 runtime.ServeMux&#xff1b;proto 注解需正确 import 并生成 pb.gw.go&#xff1b;路径参数名须与 message 字段名严格一致&#xff1b;JSON 序列化需显式配置 protojson.MarshalOptions。gRPC Gateway 404 或 503 的根…

    作者头像 李华
    网站建设 2026/4/20 22:09:17

    AI Agent 记忆系统设计 2026:从无状态到有记忆的工程实践

    没有记忆的 Agent 就像一个每天醒来都失忆的人——能做事&#xff0c;但永远无法积累经验。 一、为什么 Agent 需要记忆当前大多数 AI Agent 的根本局限在于&#xff1a;它们是无状态的。每次对话结束&#xff0c;Agent 就"遗忘"了一切。下次对话&#xff0c;一切从头…

    作者头像 李华
    网站建设 2026/4/20 22:09:17

    如何实现网盘全速下载:八大平台直链获取完整指南

    如何实现网盘全速下载&#xff1a;八大平台直链获取完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 …

    作者头像 李华
    网站建设 2026/4/20 22:08:17

    Dify工业知识库配置实战手册(附PLC/SCADA文档解析模板):仅限首批内测工程师流通的12项隐性参数调优清单

    第一章&#xff1a;Dify工业知识库配置实战手册导论Dify 是一款开源的低代码大模型应用开发平台&#xff0c;广泛应用于构建企业级知识问答系统、智能客服与工业文档理解助手。在制造业、能源、轨道交通等重资产行业&#xff0c;知识库的准确性、可追溯性与领域适配性直接决定 …

    作者头像 李华