Human Capital Management Blogs by SAP
Get insider info on HCM solutions for core HR and payroll, time and attendance, talent management, employee experience management, and more in this SAP blog.
cancel
Showing results for 
Search instead for 
Did you mean: 
Horikoshi
Product and Topic Expert
Product and Topic Expert
0 Kudos
皆様、こんにちは

ここでは、OAuth認証を使ってSAP SuccessFactorsのAPIをテスト実行するための設定について紹介しています

記述にあたり、こちらのSAPの技術文書を参考にしていますので、興味がある方はこちらも合わせて御覧ください

2800150 - How to test OAuth authentication via Postman - SuccessFactors Integrations

 

その他に、SAPのヘルプポータルにもOAuth認証による接続設定の記載があります

実プロジェクトでご利用を検討されている方は、こちらもご覧頂き、詳細をご確認頂ければ幸いです

https://help.sap.com/viewer/d599f15995d348a1b45ba5603e2aba9b/LATEST/en-US/8fa17bb328194e25b742a181da...

 

【概要】

おおまかなステップです

 SAP SuccessFactors上で「OAuth2 クライアントアプリケーション」を登録

(この環境にアクセスするためのAPIキー、秘密鍵、X.509 証明書を定義します)



 POSTMAN上で、SAMLアサーションを取得します

(①で定義したAPIキーと秘密鍵を使い、SAMLアサーションを取得します)



 POSTMAN上で、アクセストークンを取得します

(②で取得したSAMLアサーションを用いて、アクセストークンを取得します)



 POSTMANから、ユーザー情報をGETするAPIを実行します

(③で取得したアクセストークンを使い、APIを実行します)

 

【手順:① SAP SuccessFactors上で「OAuth2 クライアントアプリケーション」を登録】

それでは、順にスクリーンショットを用いて手順を紹介します

 

メニュー:管理センター>OAuth2クライアントアプリケーションの管理

クライアントアプリケーションの登録ボタンをクリックします

Horikoshi_19-1642741239287.png

 

アプリケーション名:Oauth

説明:任意

アプリケーションURL:https://localhost/

を入力し、X.509証明書を作成ボタンをクリックします

Horikoshi_20-1642741332550.png

 

X.509証明書の設定画面が表示されます

Common Name:SF

を入力し生成ボタンをクリックします

Horikoshi_0-1642741404433.png

 

X.509証明書が生成された画面が表示されます

ダウンロードボタンをクリックし、.pemファイルを取得します

Horikoshi_1-1642741544549.png

 

このファイルには秘密鍵と証明書が記述されています(Notepadなどのアプリで確認できするとこのようなテキストが表示されます)

Horikoshi_3-1642739961342.png

 

最後に、登録ボタンをクリックします

Horikoshi_2-1642741605674.png

 

登録後に再度開くとこのような画面になっており、このクライアントアプリケーションのAPIキーも自動的に作成されています

Horikoshi_3-1642741659402.png

 

【手順:② POSTMAN上で、SAMLアサーションを取得します】

 

POSTMANを開き、POSTリクエストを登録します

メニュー:Workspaces(画面上部) > My Workspace > Collections(画面左側)

+ボタンをクリックすると、New Collectionが作成されます

New Collectionの名前を00_OAuth testとしました

Horikoshi_4-1642741709685.png

 

作成したCollectionを右クリックし、Add Requestをクリックします

Horikoshi_5-1642741765572.png

 

作成したRequestを下記のように設定します

 

名前:OAuth test: idp

メソッド:POST

URL:https://データセンターURL/oauth/idp (本ドキュメントではシンガポールのプレビューデータセンター環境を利用しているためhttps://api44preview.sapsf.com/oauth/idpを用います)

尚、データセンターごとのURLをこちらから入手頂けます
2215682 - Successfactors API URLs for different Data Centers
https://apps.support.sap.com/sap/support/knowledge/en/2215682

Horikoshi_9-1642741948988.png

 

続いてBodyをクリックし、下記のパラメータを指定します

media type: x-www-form-urlencoded

client_id: ①で作成したOAuth2クライアントアプリケーションのAPIキーを登録します(ここではMTEzNDgxOTJlYWM0NGJlMmVhMDQ5NmVhNzJjOQ)

user_id = sfadmin

token_url = https://api44preview.sapsf.com/oauth/token

private_key = ①でダウンロードしたファイルの「-----BEGIN ENCRYPTED PRIVATE KEY----- と-----END ENCRYPTED PRIVATE KEY-----の間にあるテキスト」をすべてコピー&ペーストします

Horikoshi_10-1642742014819.png

 

Sendボタンをクリックすると画面下にレスポンス(SAMLアサーション)が返ってきます

ステータスが200 OKになっていれば成功です

Horikoshi_11-1642742090063.png

 

【手順:③ POSTMAN上で、アクセストークンを取得します】

次に、アクセストークンを取得するためのリクエストを追加します

再度Collectionを右クリックしAdd Requestを選択します

Horikoshi_0-1642742177633.png

作成したRequestを下記のように設定します

 

名前:OAuth test: token

メソッド:POST

URL:https://データセンターURL/oauth/token (ここではhttps://api44preview.sapsf.com/oauth/tokenを用います)

Horikoshi_1-1642742242013.png

 

続いてBodyをクリックし、下記のパラメータを指定します

media type: x-www-form-urlencoded

client_id: ①で作成したOAuth2クライアントアプリケーションのAPIキーを登録します(ここではMTEzNDgxOTJlYWM0NGJlMmVhMDQ5NmVhNzJjOQ)

grant_type = urn:ietf:params:oauth:grant-type:saml2-bearer

company_id = SFSALES007430

token_url = https://api44preview.sapsf.com/oauth/token

assertion = ②で取得したSAMLアサーションをペーストします

Horikoshi_2-1642742324459.png

 

Sendボタンをクリックすると画面下にレスポンス(アクセストークン)が返ってきます

ステータスが200 OKになっていれば成功です

Horikoshi_3-1642742385346.png

 

【手順:④ POSTMANから、ユーザー情報をGETするAPIを実行します】

これでSAP SuccessFactorsのAPIを実行するための準備が完了しました

③で取得したアクセストークンを使って、ユーザー情報をGETするAPIを実行します

 

再度Collectionを右クリックしAdd Requestを選択します

Horikoshi_4-1642742446865.png

 

作成したRequestを下記のように設定します

 

名前:OAuth test: GET

メソッド:POST

URL:https://データセンターURL/odata/v2/User('sfadmin')?select=userId, firstName (ここではhttps://api44preview.sapsf.com/odata/v2/User('sfadmin')?select=userId, firstNameを用います)

Horikoshi_5-1642742494986.png

 

続いてHeadersをクリックし、下記のパラメータを指定します

Authorization: Bearer <access token> (③で取得したアクセストークンをペーストします)

Accept: application/json

Horikoshi_9-1642742599189.png

 

Sendボタンをクリックすると画面下にレスポンス(取得したユーザーデータ)が返ってきます

ステータスが200 OKになっていれば成功です

ユーザーsfadminのユーザーデータが取得できていることが確認できます

Horikoshi_10-1642742663225.png

 

 

以上で、設定とテストは完了となります

本ドキュメントではOAuth認証を用いたAPIの実行をご紹介しました