Follow
SIMG > ABAP Platform > Application Server > Basis Services > Communication Interfaces
> OAuth 2.0 Client Implementation for SAP SuccessFactors Integration
The default implementation allows only a connection to ONE SuccessFactors instance.
Then you can use the existing objects.
This ones decribes how to create custom objects for multiple instances.
x. OA2C_CONFIG (t.oa2c_client)
<sf_host>/oauth/token form, header, current, SAML www.successfactors.com 998
" Create entry with r.ZMDW_TEST, the new applic need to be assigned to the type via SM30 > CLB2V_PTYPE FORM create_sf_application. DATA: ls_app TYPE ssfapplic, ls_appt type SSFAPPLICT, lv_new_app_name TYPE string. delete from ssfapplic where applic = 'OA_CD'. delete from ssfapplict where applic = 'OA_CD'. lv_new_app_name = 'OACD'. SELECT SINGLE * FROM ssfapplic INTO ls_app WHERE applic = 'OA2CS'. ls_app-applic = lv_new_app_name. MODIFY ssfapplic FROM ls_app. WRITE: / |modified { lv_new_app_name }, rc={ sy-subrc }|. SELECT SINGLE * FROM SSFAPPLICT INTO ls_appt WHERE sprsl = 'E' and applic = 'OA2CS'. ls_appt-applic = lv_new_app_name. ls_appt-descript = |OAuth2 Client Identity Provider - { lv_new_app_name }|. MODIFY SSFAPPLICT FROM ls_appt. WRITE: / |modified { lv_new_app_name }, rc={ sy-subrc }|. ENDFORM.Add SFF ID specific parameters with
Note: use always same case to avoid mixing up at all artifacts: Profile, Type, Application ID, Service Provider Type, SSF ID, Server
CL_OA2C_SPECIFICS_DEFAULT CL_OA2C_CONFIG_EXT_DEFAULT (default) (custom) Enh. Spot OA2C_SPECIFICS (not visible in OA2C_CONFIG) Enh. Impl. SMI_OA2C_SPEC_SFSF (not visible in OA2C_CONFIG) BAdI Def OA2C_SPECIFICS_BADI_DEF BAdi Impl. SMI_OA2C_SPEC_SFSF_BIZX => Z_SMI_OA2C_SPEC_SFSF_BIZX_CD* Filter Value: SUCCESSFACTORS => Z_CONTIDEV Implementation Class: CL_SMI_OA2C_SPEC_SFSF => copied to ZCL_SMI_OA2C_SPEC_SFSF_CD => exchange all references from class CL_SMI_OA2C_CONFIG_SFSF to ZCL_SMI_OA2C_CONFIG_SFSF_CD => edit method IF_OA2C_SPECIFICS~GET_CONFIG_EXTENSION (replace R_CONFIG_EXTENSION name) *SE18 > es.OA2C_SPECIFICS > Right-Click > Create implementation > ei.Z_SMI_OA2C_SPEC_SFSF_CD > bi.Z_SMI_OA2C_SPEC_SFSF_BIZX_CD > assign class from above and add filter
Enh. Spot OA2C_CONFIG_EXTENSION Enh. Impl. SMI_OA2C_CONFIG_SFSF BAdI Def OA2C_CONFIG_EXTENSION_BADI_DEF BAdi Impl. SMI_OA2C_CONFIG_SFSF_BIZX Filter Value: SUCCESSFACTORS Implementation Class: CL_SMI_OA2C_CONFIG_SFSF => copied to ZCL_SMI_OA2C_CONFIG_SFSF_CD => update attributes GC_APPLICATION and GC_SMI_SP_SFSF SE18 > es.OA2C_CONFIG_EXTENSION > Right-Click > Create implementation > ei.Z_SMI_OA2C_CONFIG_SFSF_CD > bi.Z_SMI_OA2C_CONFIG_SFSF_BIZX_CD > assign class from above and add filter
Choose your Service Provider Type and Application ID Request Method: HTTP Get (GET) Manually Entered Endpoint Endpoint: /odata/v2/FODivision/ Authentication Context: User Context (USER)
The first is not secure anymore and should not be used anymore.
/oauth/idp parameters: client_id user_id private_key token_url use_email use_username <=== true /oauth/token parameters: company_id client_id grant_type assertion new_token <=== true