OAuth 2.0
2023-12-12
SAP SuccessFactors の OData API を使えるようにする(OAuth 2.0)
この記事は SAP Advent Calendar 2023 の 12 月 18 日分の記事として執筆しています。 はじめに SAP SuccessFactors(以下 SF と略します) は、単体でも優れた人材管理ソリューションだとは思いますが、せっかく OData API が提供されているので、工夫次第で例えば BTP に必要なデータを抽出し、他のシステムの情報と混ぜ合わせて新たな価値を見出す SAC などの BI ツールにデータを提供することで、別の視点からデータを分析する というようなことも出来るようになるでしょう。 そのための第一歩として、ローカル端末から SF の API を呼び出すところまでやってみます。 なお、この後実施する “SAML アサーションの生成” 方法は、非推奨となった /oauth/idp API を使わず、自身で生成する方法を取ります。 (当記事作成のモチベーションになった変更点です。ガッツリ使ってました) ちなみに、今後の作業内容はすべて Help Portal に掲載されています。 最新情報や、より詳細な情報が必要な場合、そちらをご確認ください。 環境 SAP SuccessFactors: b2311.20231204122616 デモ環境を使います(この SF 環境調達が 1 番ハードルが高いかも) Windows11: 23H2 Java: sapmachine-21.0.1 前提条件 SF の Manage OAuth2 Client Applications にアクセスできる権限を持っていること SAP Note 3031657 にアクセスできること。この Note に添付されているツールを途中で使用します。 作業全体のシーケンス図 sequenceDiagram autonumber ローカル端末 ->> ローカル端末: 証明書作成 ローカル端末 ->> +SF: OAuth2 クライアントアプリケーション登録 SF ->> -ローカル端末: API Key 出力 ローカル端末 ->> ローカル端末: SAML アサーション生成 ローカル端末 ->> +SF: アクセストークン リクエスト SF ->> -ローカル端末: アクセストークン 返却 ローカル端末 ->> +SF: API 実行 SF ->> -ローカル端末: API 実行結果返却 作業詳細 事前準備 - OpenSSL を使用した X.