跳到内容
技术文章
作者简介照片Sri万博新体育手机客户端prasad S Bhat

SuccessFactors集成为初学者-连接与OAuth

作品简介:

最近SuccessFactors发布了Note #2970369声明API使用的基本认证(从2022年开始)即将结束。下面的博客将展示我们如何使用现有的OAuth2身份验证方法连接,使用SAP Integration Suite从SuccessFactors获取数据。

免责声明

本博客只是从技术上解释如何在SAP CPI中实现基于OAuth的身份验证SuccessFactors基于集成。

请注意SAP云集成更新了现有的适配器来内部处理OAuth,本博客只是为了了解替代的技术方法。

有关在SAP Cloud Integration中使用SFSF适配器处理OAtuh的更简单和SAP建议的方法,请参阅博客文章。

SAP CPI现有的SuccessFactors - OData适配器有什么问题?

SuccessFactors OData V2适配器支持基于OAuth SAML的身份验证,但它不足以实现从SuccessFactors OData V2获取数据的身份验证过程的端到端场景(参见限制)kba - 2986720)使用SAP CPI。

我们将创建一个小演示,看看我们如何利用HTTPOData适配器实现相同的功能。

当前进程使用OAuth(使用Postman)从SuccessFactors Employee Central获取数据。

设置:SuccessFactors一如其名

导航到管理中心->管理OAuth2客户端应用程序->注册

如下所示填写必需的详细信息。

点击生成X.509证书然后填写如下所示的详细信息,然后“生成

一旦你点击生成屏幕自动回到前一个给选项下载私钥和证书。

下载.pem文件。包含私钥和证书。(可以在notepad++中看到)。获取一份私钥副本,以便在我们的集成中进一步使用。

保存要捕获的配置API密匙与OAuth应用程序相关联,以便在集成中进一步使用。

SAP集成服务设置:

登录到您的SAP CPI租户,并使用下面的设计创建一个新的流。

如果您对SAP CPI非常陌生,那么请按照下面的教程进行熟悉。

开发者教程- SAP CPI

块1:

它的主要捕获过程按照下面的方式配置。

步骤一:

添加内容修改器并添加所有参数(就像您想要控制日志记录一样)。在上述设计中,您可以选择。

步骤b:

添加过程调用打电话给本地整合过程- GetSAMLAssertion(在第2部分涵盖)

步骤c:

添加过程调用打电话给本地整合过程- GetAuthToken(包含在Block - 3中)

步骤d:

添加过程调用打电话给本地整合过程- GetUserData(包含在第4部分)

第二块:

本地整合过程它用于从SuccessFactors获取SAML断言。

步骤一:

添加内容修改器详情见身体部分。所有详情请参阅上述OAuth申请表。

client_id = < client_id > user_id = < technicaluser > &token_url = https://apisalesdemo4.successfactors.com/outh/token&private_key= < private_key >

步骤b:

添加请求-应答HTTP带有配置的接收器适配器(API服务器取决于您的SF实例)。

步骤c:

添加脚本记录断言代码(仅供参考)。

进口com.sap.gateway.ip.core.customdev.util.Message;进口java.util.HashMap;def Message processData(Message Message) {def body = Message . getbody (java.lang.String) as String;def messageLog = messageLogFactory.getMessageLog(message);messageLog。addAttachmentAsString("SAML_Assertion:", body, "text/xml");返回消息;}

块3:

本地整合过程从SuccessFactors获取不记名令牌。

步骤一:

添加C用修改器详情如下。

消息HeadeR应该是一个低于这个值的常数。

名字 价值
内容类型 应用程序/ x-www-form-urlencoded

身体部分的内容修饰符应该有以下值(替换为SuccessFactors的详细信息,如公司id和客户id)。

company_id = < company_id > CLIENT_ID = < CLIENT_ID > &grant_type = urn: ietf:参数:oauth: grant-type: saml2-bearer&assertion = $ {in.body}

步骤b:

添加HTTP接收器适配器从SuccessFactors获取承载令牌。

步骤c:

添加脚本步骤解析承载令牌并将其设置为后续调用的标头。

进口groovy.json。*;进口com.sap.gateway.ip.core.customdev.util.Message;进口java.util.HashMap;def Message processData(Message Message) {//Body def Body = Message . getbody (String.class);def jsonSlurper = new jsonSlurper () def list = jsonSlurper. parsetext (body) def token="Bearer "+list.access_token. tostring ();//Headers def map = message.getHeaders();消息。setHeader(“授权”,令牌);返回消息;}

步骤d:

可选脚本记录有效负载的步骤。

第四块:

本地整合流程打电话索取用户数据从SuccessFactors

步骤一:

添加一个请求-应答使用以下配置进行OData调用以从SuccessFactors获取用户数据。

步骤b:

记录有效负载以查看SuccessFactors的用户详细信息。

部署你的flow来查看端到端结果。

希望这有助于了解一步一步的细节,实现互联互通。

问候,

Sriprasad Shivaram Bhat

指定的标签

      16条评论
      你一定是登录评论:评论或回复帖子
      作者简介照片Har万博新体育手机客户端i Sonnenahalli
      哈里Sonnenahalli

      非常好的博客。我希望SAP能进一步简化互联互通。

      作者简介照片Sya万博新体育手机客户端mbabu Allu
      Syambabu Allu

      很容易理解,感谢您在SuccessFactors中详细分享新的连接方法。

      谢谢你!

      Syam

      作者简介照片Sou万博新体育手机客户端vik Sinha
      Souvik Sinha

      谢谢Sriprasad Shivaram Bhat用于使用现有功能向Successfactor共享Oauth身份验证的逐步详细信息。

      SAP是否有升级Successfactor Odata标准适配器以接受相同或增强oauth功能的路线图?

      问候,

      Souvik

      作者简介照片Sri万博新体育手机客户端prasad Shivaram Bhat
      Sriprasad Shivaram Bhat
      博客作者

      你好Souvik,

      随着时间的推移,它应该是可用的,但不确定发布的确切时间框架。

      问候,

      Sriprasad Shivaram Bhat

      作者简介照片Sou万博新体育手机客户端vik Sinha
      Souvik Sinha

      太棒了!!期待消息的公布。

      问候,

      Souvik

      作者简介照片Ant万博新体育手机客户端onio Ferreira Vicente
      安东尼奥·费雷拉·维森特

      对于初学者来说非常重要和清晰。谢谢你!Bhat ! !

      作者简介照片Viv万博新体育手机客户端ek Jain
      Vivek耆那教徒的

      嗨Sriprasad,

      我已经通过POSTMAN和CPI成功获得了断言。但是,在获得Token时,我得到了“401”错误(在CPI和POSTMAN中)。请指教。

      谢谢你,

      Vivek耆那教徒的

      作者简介照片Viv万博新体育手机客户端ek Jain
      Vivek耆那教徒的

      嗨Sriprasad,

      PFA是来自CPI的误差。

      谢谢你,

      Vivek耆那教徒的

      作者简介照片Sri万博新体育手机客户端prasad Shivaram Bhat
      Sriprasad Shivaram Bhat
      博客作者

      你好,Vivek,

      请分享OAUTH详细信息屏幕的截图,以及您正在使用的用户是否拥有所有所需的访问权限(API用户)。

      问候,

      Sriprasad Shivaram Bhat

      作者简介照片Jay万博新体育手机客户端asuryavathi Tadikonda
      Jayasuryavathi Tadikonda

      嗨Sriprasad,

      谢谢你的博客。

      我能够通过Postman成功地测试OAuth SAML承载断言。

      我们在SAP CPI安全材料中有一个工件类型OAuth SAML承载断言。我尝试在CPI流中使用Artifact。但是流失败,出现以下错误。

      com.sap.网关.core.ip.component.odata.exception. osciexception:当尝试调用从本地变量'principalToken'加载的空对象的方法com.sap.it.rt.scc.connectivity.security.IToken.getSAMLToken(java.lang.String)时,原因:java.lang.NullPointerException:当尝试调用从本地变量'principalToken'加载的空对象的方法com.sap.it.rt.scc.connectivity.security.IToken.getSAMLToken(java.lang.String)时

      我想了解-博客中解释的过程与SAP CPI Artifact OAuth2 SAML承载断言(SuccessFactors)不同吗?

      谢谢你!

      问候,

      Jaya

      作者简介照片Sri万博新体育手机客户端prasad Shivaram Bhat
      Sriprasad Shivaram Bhat
      博客作者

      你好Jaya,

      如果您浏览了完整的博客,将不胜感激,上面的问题的原因在几个KBAs中提到。

      问候

      Sripraad Shivaram Bhat

      作者简介照片Ter万博新体育手机客户端ry Eisenmenger
      特里Eisenmenger

      感谢你的帮助,我们有一些人刚刚开始整合,这肯定会帮助他们起步。

      作者简介照片Pio万博新体育手机客户端tr Tesny
      彼得亚雷Tesny

      你好Sriprasad Shivaram Bhat,

      当我对OAuth2SAMLBearerAssertion流进行研究时,我已经将您的博客添加了书签LOB应用程序。

      我非常欣赏您描述的利用SFSF OAuth客户机idp端点生成小承载断言的解决方案的清晰度。(顺便说一句,你的博客也很好地介绍了Integration Suite的CPI部分)。

      长话短说。

      作为我自己研究的结果,我提出了下面的博客文章,描述了使用SuccessFactors实现OAuth2SAMLBearerAssertion的其他方法(包括使用SAP BTP和不绑定BTP),即SAPSuccessFactors与OAuth2SAMLBearerAssertion流的集成。

      亲切的问候

      彼得亚雷

      作者简介照片Pra万博新体育手机客户端senjit Sarkar
      Prasenjit Sarkar

      嘿,Sriprasad,

      首先感谢你的博客,我试过了,效果很好。

      SAP在实例刷新和创建低级开发和QA系统中创建的OAuth客户端备份方面的指导是什么?是否有办法下载备份,以便将相同的证书和密钥添加回来?

      问候

      Prasenjit

      作者简介照片Nar万博新体育手机客户端esh Dasika
      Naresh Dasika

      你好Sriprasad,

      SAP PO和SAP CPI上SFSF发送器适配器的“OAuth”模式可用性有任何更新吗?

      根据KBA note-3061465 -在SAP流程编排(PO)中SFSF适配器中支持OAUTH,这应该在2021年底之前可用

      客户方面需要此信息来准备变更、测试和时间表等

      问候,

      Naresh

      作者简介照片Sri万博新体育手机客户端prasad S Bhat
      Sriprasad S Bhat
      博客作者

      你好Naresh,

      OAuth已经在SAP CPI发送方和接收方SFSF适配器中可用。

      //www.bouseh.com/2021/03/26/sap-cloud-integration-oauth2-saml-bearer-x.509-certificate-authentication-support-in-successfactors-connector/

      问候

      Sriprasad Shivaram Bhat