トークンエクスチェンジグラントタイプ(OAuth)
セキュリティトークンを Indeed のアクセストークンと交換します。
本 API および本ドキュメントを利用し、連携を構築することにより、Additional API Terms and Guidelines に同意したものとみなされます。
概要
#トークンエクスチェンジグラントタイプを使用すると、ID プロバイダーが発行した ID トークンを Indeed のアクセストークンと交換できます。このグラントタイプは RFC 8693: OAuth 2.0 Token Exchange に準拠しています。
手順
#この連携を開始する場合やご質問がある場合は、indeed-ciam-integrations-support@indeed.com までお問い合わせください。
1. アプリを登録する
#日本のみ
#-
Indeed アカウントで Manage app credentials (新しいウィンドウで開きます) ページにサインインし、Register new application を選択します。
-
Provide basic information ページで、アプリの名前と説明を入力します。Credential type で OAuth 2.0 を選択し、Save and continue を選択します。
-
Select OAuth grant types ページで Client credentials を選択し、Save and continue を選択します。
-
Provide additional information ページで必要に応じて詳細を追加し、Save and continue を選択します。
-
Preview app ページでアプリの情報を確認し、Complete registration を選択します。
Credentials ページに表示されるクライアント ID とシークレットを控えておきます。シークレットは共有しないでください。
-
Indeed がアプリをトークンエクスチェンジの許可リストに追加できるよう、クライアント ID を Indeed に送信します。
日本以外
#Indeed エントリーの XML 連携を構築するには、Indeed クライアントサクセスチーム (新しいウィンドウで開きます)にお問い合わせください。開発者契約に署名すると、Indeed が連携用のアプリを設定します。
アプリとその Indeed エントリー API トークンの認証情報を確認するには、Partner Console (新しいウィンドウで開きます) にサインインします。
- API トークンの認証情報は、クライアント ID とシークレットです。
- Indeed に掲載する各求人に API トークンを含めます。
2. Authorization Basic ヘッダーの値を生成する
#RFC 2617: HTTP Authentication: Basic and Digest Access Authentication の Basic Authentication Scheme (新しいウィンドウで開きます) もご覧ください。
Authorization Basic ヘッダーの値を生成するには、次の手順で行います。
-
client_idとclient_secretを、区切り文字としてコロン(:)で連結します。base64.encode("<client_id>:<client_secret>"); -
その文字列に Base64 エンコードアルゴ リズムを適用します。
base64.encode("5e175cbb7f88e2048bd95323bbc9ca2fcec32ad60f95f7ee66ab53e099abe6f3:pJ4qRe2sdXRP0Whr3bwz9D37exFuuOtqJDRHMmmlLWV7J25rH7oItrPNCKzhaQf2"); -
Base64 エンコードされた文字列を、基本 HTTP
Authorizationヘッダーとして渡します。Authorization: Basic NWUxNzVjYmI3Zjg4ZTIwNDhiZDk1MzIzYmJjOWNhMmZjZWMzMmFkNjBmOTVmN2VlNjZhYjUzZTA5OWFiZTZmMzpwSjRxUmUyc2RYUlAwV2hyM2J3ejlEMzdleEZ1dU90cUpEUkhNbW1sTFdWN0oyNXJIN29JdHJQTkNLemhhUWYy
3. アクセストークンを取得する
#手順 2 で生成した Authorization: Basic ヘッダーと ID トークンを指定して、https://apis.indeed.com/oauth/v2/tokens に POST リクエストを送信します。
curl -L 'https://apis.indeed.com/oauth/v2/tokens' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'Authorization: Basic <credentials>' \ -d 'grant_type=urn:ietf:params:oauth:grant-type:token-exchange' \ -d 'subject_token_type=urn:ietf:params:oauth:token-type:id_token' \ -d 'scope=email offline_access' \ -d 'subject_token=xxxxx.yyyyy.zzzzz'リクエストヘッダーは次のとおりです。
| ヘッダー | 値 |
|---|---|
Authorization |
|
Content-Type | application/x-www-form-urlencoded |
oauth/v2/tokens のリクエストボディパラメーターは次のとおりです。
| リクエストボディパラメーター | 必須 | 値 |
|---|---|---|
grant_type | ✔ |
型: string |
scope | 任意 | Indeed のアクセストークンで付与するスコープです。スコープをご覧ください。 例:
|
subject_token | ✔ | 代理で操作するユーザーを識別するトークンです。トークンの発行者は、Indeed がトークンを検証できる手段を提供する必要があります。 Indeed は ID トークンのみをサポートしています。 例:
|
subject_token_type | ✔ |
例:
|