Human Capital Management Blogs by SAP
Get insider info on SAP SuccessFactors HCM suite 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
2,204

皆様、こんにちは

本設定はこちらのドキュメントを元に、以前のブログで、ユーザーIDとパスワードで実行していたAPIを、OAuth認証を使って実行します(ユーザーIDとパスワードによる認証は今後廃止される予定です)
2800150 - How to test OAuth authentication via Postman - SuccessFactors Integrations

【概要】

おおまかなステップです

SAP SuccessFactors上で「OAuth2 クライアントアプリケーション」を登録
(この環境にアクセスするためのAPIキーとX.509 証明書を定義します)

POSTMAN上で、SAMLアサーションを取得します
(①で定義したAPIキーとX.509 証明書を使い、SAMLアサーションを取得します)

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

POSTMANから、ユーザー情報をGETするAPIを実行します
(③で取得したアクセストークンを使い、APIを実行します)

 

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

それでは、順にスクリーンショットを用いて手順を紹介します
メニュー:管理センター>OAuth2クライアントアプリケーションの管理
クライアントアプリケーションの登録ボタンをクリックします

Horikoshi_0-1720146281436.png

アプリケーション名:Oauth
説明:任意
アプリケーションURLhttps://localhost/

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

Horikoshi_1-1720146307722.png

Common NameSF

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

Horikoshi_2-1720146326101.png

X.509証明書が生成された画面が表示されます
ダウンロードボタンをクリックし、.pemファイルを取得します

Horikoshi_3-1720146352474.png

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

Horikoshi_4-1720146365057.png

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

Horikoshi_5-1720146378086.png

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

Horikoshi_6-1720146395968.png

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

POSTMANを開き、POSTリクエストを登録します
メニュー:Workspaces(画面上部) > My Workspace > Collections(画面左側)
+ボタンをクリックすると、New Collectionが作成されます

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

Horikoshi_7-1720146421024.png

 

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

Horikoshi_8-1720146433830.png

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

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

Horikoshi_10-1720146518213.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_11-1720146540472.png

Sendボタンをクリックすると画面下にレスポンス(SAMLアサーション)が返ってきます
ステータスが200 OKになっていれば成功です

Horikoshi_12-1720146564125.png

 

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

次に、アクセストークンを取得するためのリクエストを追加します
再度Collectionを右クリックしAdd Requestを選択します

Horikoshi_13-1720146590367.png

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

名前:OAuth test: token
メソッド:POST
URLhttps://データセンターURL/oauth/token (ここではhttps://api44preview.sapsf.com/oauth/tokenを用います)

Horikoshi_14-1720146601353.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_15-1720146613018.png

Sendボタンをクリックすると画面下にレスポンス(アクセストークン)が返ってきます
ステータスが200 OKになっていれば成功です

Horikoshi_16-1720146623334.png

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

これでSAP SuccessFactorsAPIを実行するための準備が完了しました
③で取得したアクセストークンを使って、ユーザー情報をGETするAPIを実行します

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

Horikoshi_17-1720146637775.png

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

名前:OAuth test: GET
メソッド:POST
URLhttps://データセンターURL/odata/v2/User('sfadmin')?select=userId, firstName (ここではhttps://api44preview.sapsf.com/odata/v2/User('sfadmin')?select=userId, firstNameを用います)

 

Horikoshi_18-1720146649245.png

 

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

Authorization: Bearer <access token>
Accept: application/json

Horikoshi_19-1720146664625.png

Sendボタンをクリックすると画面下にレスポンス(取得したユーザーデータ)が返ってきます
ステータスが200 OKになっていれば成功です
sfadminのユーザーデータが取得できていることが確認できます

Horikoshi_20-1720146675707.png

以上で、設定とテストは完了となります
本ドキュメントではOAuth認証を用いたAPIの実行をご紹介しました