事前準備(API利用環境の構築)#
シェル作成#
APIの認証と実行のため、アクセストークンが必要です。
アクセストークンを取得するため、まず「get_token.sh」というシェルスクリプトを作成します。
※ユーザー認証の方式として、①「パスワード認証」,②「証明書+パスワード認証」の2つの選択肢があります。②「証明書+パスワード認証」を選んだ場合、シェルスクリプトの内容と事前準備に追加が発生します。
以下、この節では①「パスワード認証」をベースとして記述し、②「証明書+パスワード認証」を選んだ場合の追加はタブで記述します。
get_token.sh
#!/bin/bash # アカウント情報 CONTRACT_NUMBER=<契約番号> USER_NAME=<ユーザー名> USER_PW=<パスワード> # URI TOKEN=https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token # Token値格納ファイル TMPFILE=./token.txt echo "" echo "****************************************" echo "** Token取得・表示します **" echo "****************************************" echo "" echo "■設定内容" echo " endpoint:$TOKEN" echo " contract_number:$CONTRACT_NUMBER" echo " user_name:$USER_NAME" echo " user_pw:$USER_PW" echo "" echo "■実行するCURL" echo "curl -si -X POST $TOKEN -H \"Content-Type:application/json\" -d '{ \"auth\":{ \"identity\":{ \"password\":{ \"user\":{\"contract_number\":\"$CONTRACT_NUMBER\", \"name\":\"$USER_NAME\", \"password\":\"$USER_PW\" } } } } }' " curl -si -X POST $TOKEN -H "Content-Type:application/json" -d '{ "auth":{ "identity":{ "password":{ "user":{"contract_number":"'$CONTRACT_NUMBER'", "name":"'$USER_NAME'", "password":"'$USER_PW'" } } } } }' | awk '/X-Access-Token/ {print $2}' > $TMPFILE | tr -d '\r\n' OS_AUTH_TOKEN=`cat $TMPFILE | tr -d '\r\n'` echo "=== ここから、取得された認証Token ===" echo $OS_AUTH_TOKEN echo "=== ここまで、取得された認証Token ==="
#!/bin/bash # アカウント情報 CONTRACT_NUMBER=<契約番号> USER_NAME=<ユーザー名> USER_PW=<パスワード> # URI TOKEN=https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token # Token値格納ファイル TMPFILE=./token.txt echo "" echo "****************************************" echo "** Token取得・表示します **" echo "****************************************" echo "" echo "■設定内容" echo " endpoint:$TOKEN" echo " contract_number:$CONTRACT_NUMBER" echo " user_name:$USER_NAME" echo " user_pw:$USER_PW" echo "" echo "■実行するCURL" echo "curl -si -X POST $TOKEN -H \"Content-Type:application/json\" -H "X-FCX-Client-Cert:ユーザ情報に紐づくクライアント証明書" -d '{ \"auth\":{ \"identity\":{ \"password\":{ \"user\":{\"contract_number\":\"$CONTRACT_NUMBER\", \"name\":\"$USER_NAME\", \"password\":\"$USER_PW\" } } } } }' " curl -si -X POST $TOKEN -H "Content-Type:application/json" -H "X-FCX-Client-Cert:ユーザ情報に紐づくクライアント証明書" -d '{ "auth":{ "identity":{ "password":{ "user":{"contract_number":"'$CONTRACT_NUMBER'", "name":"'$USER_NAME'", "password":"'$USER_PW'" } } } } }' | awk '/X-Access-Token/ {print $2}' > $TMPFILE | tr -d '\r\n' OS_AUTH_TOKEN=`cat $TMPFILE | tr -d '\r\n'` echo "=== ここから、取得された認証Token ===" echo $OS_AUTH_TOKEN echo "=== ここまで、取得された認証Token ===" # ※クライアント証明書の事前準備 # クライアント証明書のファイルを、OPENSSL 環境で所定のコマンドを使ってPEM形式に変換してください。 当該のファイル内に含まれる、'BEGIN CERTIFICATE'と 'END CERTIFICATE'の間に挟まれた英数字情報が、「ユーザー情報に紐づくクライアント証明書」です。 # サンプル: # -----BEGIN CERTIFICATE----- # ~中略~ # -----END CERTIFICATE-----
Token取得#
APIを利用するための認証に必要なTokenの取得方法を説明します。
- 作業ディレクトリに移動します。
$ cd <Token取得シェルがあるディレクトリ>
- Token取得シェルを実行します。
コンソール画面に以下のような結果が出力されます。
$ ./get_token.sh
**************************************** ** Token取得・表示します ** **************************************** ■設定内容 endpoint: https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token contract_number: <契約番号> user_name:<ユーザー名> user_pw:<パスワード> ■実行するCURL curl -si -X POST https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token -H "Content-Type:application/json" -d '{ "auth":{ "identity":{ "password":{ "user":{"contract_number":"<契約番号>", "name":"<ユーザー名> ", "password":"<パスワード>" } } } } }' === ここから、取得された認証Token === <Tokenの値> === ここまで、取得された認証Token ===
**************************************** ** Token取得・表示します ** **************************************** ■設定内容 endpoint: https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token contract_number: <契約番号> user_name:<ユーザー名> user_pw:<パスワード> ■実行するCURL curl -si -X POST https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token -H "Content-Type:application/json" -H "X-FCX-Client-Cert:ユーザ情報に紐づくクライアント証明書" -d '{ "auth":{ "identity":{ "password":{ "user":{"contract_number":"<契約番号>", "name":"<ユーザー名> ", "password":"<パスワード>" } } } } }' === ここから、取得された認証Token === <Tokenの値> === ここまで、取得された認証Token ===
認証Tokenが確認できれば、この環境でAPI操作が可能となっています。
以降、APIを実行する際、当手順で取得したTokenの値を実行するAPIのヘッダーに設定しリクエストを送ります。詳細は「利用者管理API」の各APIの実行サンプルを参照してください。