皆様、こんにちは
本設定はこちらのドキュメントを元に、以前のブログで、ユーザー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クライアントアプリケーションの管理
クライアントアプリケーションの登録ボタンをクリックします
アプリケーション名:Oauth
説明:任意
アプリケーションURL:https://localhost/
を入力し、X.509証明書を作成ボタンをクリックします
Common Name:SF
を入力し生成ボタンをクリックします
X.509証明書が生成された画面が表示されます
ダウンロードボタンをクリックし、.pemファイルを取得します
このファイルには秘密鍵と証明書が記述されています(Notepadなどのアプリで確認できするとこのようなテキストが表示されます)
最後に、登録ボタンをクリックします
登録後に再度開くとこのような画面になっており、このクライアントアプリケーションのAPIキーも自動的に作成されています
【手順:② POSTMAN上で、SAMLアサーションを取得します】
POSTMANを開き、POSTリクエストを登録します
メニュー:Workspaces(画面上部) > My Workspace > Collections(画面左側)
+ボタンをクリックすると、New Collectionが作成されます
New Collectionの名前を00_OAuth testとしました
作成したCollectionを右クリックし、Add Requestをクリックします
作成したRequestを下記のように設定します
名前:OAuth test: idp
メソッド:POST
URL:https://データセンターURL/oauth/idp (本ドキュメントではシンガポールのプレビューデータセンター環境を利用しているためhttps://api44preview.sapsf.com/oauth/idpを用います)
続いて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-----の間にあるテキスト」をすべてコピー&ペーストします
Sendボタンをクリックすると画面下にレスポンス(SAMLアサーション)が返ってきます
ステータスが200 OKになっていれば成功です
【手順:③ POSTMAN上で、アクセストークンを取得します】
次に、アクセストークンを取得するためのリクエストを追加します
再度Collectionを右クリックしAdd Requestを選択します
作成したRequestを下記のように設定します
名前:OAuth test: token
メソッド:POST
URL:https://データセンターURL/oauth/token (ここではhttps://api44preview.sapsf.com/oauth/tokenを用います)
続いて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アサーションをペーストします
Sendボタンをクリックすると画面下にレスポンス(アクセストークン)が返ってきます
ステータスが200 OKになっていれば成功です
【手順:④ POSTMANから、ユーザー情報をGETするAPIを実行します】
これでSAP SuccessFactorsのAPIを実行するための準備が完了しました
③で取得したアクセストークンを使って、ユーザー情報をGETするAPIを実行します
再度Collectionを右クリックしAdd Requestを選択します
作成した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を用います)
続いてHeadersをクリックし、下記のパラメータを指定します
Authorization: Bearer <access token>
Accept: application/json
Sendボタンをクリックすると画面下にレスポンス(取得したユーザーデータ)が返ってきます
ステータスが200 OKになっていれば成功です
sfadminのユーザーデータが取得できていることが確認できます
以上で、設定とテストは完了となります
本ドキュメントではOAuth認証を用いたAPIの実行をご紹介しました
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
8 | |
3 | |
2 | |
2 | |
2 | |
2 | |
2 | |
2 | |
1 | |
1 |