get_token の使用

この get_token ユーティリティを使用すると、Apigee 認証情報をアクセス用に交換したり、後ほど Apigee 管理 API にアクセスするためのトークンを更新したりできます。acurl とは異なり、get_token はディスクにトークンを取得して格納するだけです。自身の判断で有効なトークンをリクエストに追加し、有効期限が切れたときには新しいトークンを取得します。

アクセス トークンを使用して、OAuth または SAML ワークフローと一緒に Management API を呼び出します。

前提条件: get_token を使用する前にインストールする必要があります。

get_token の構文

get_token ユーティリティは、次の構文を使用します。

get_token -u email_address[:password] [-m mfa_code] [-p passcode]

設定値は次のとおりです。

要素 必須? 説明
email_address 必須(初回のみ) Apigee アカウントに関連付けられているメールアドレス。最初に get_token を呼び出す際に、メールアドレスを渡す必要があります。アクセス トークンとリフレッシュ トークンが期限切れになるまで、再度メールアドレスを渡す必要はありません。
password 省略可 Apigee アカウントのパスワード。このパスワードを省略すると、パスワードの入力が求められます。コマンドで直接パスワードを使用したくない場合は、パスワードの代わりにワンタイム コードのパスコードを使用できます。
passcode 省略可 ワンタイム パスコード。パスワードの代わりに使用できます。
mfa_code 省略可 多要素認証(MFA)を有効にしている場合、get_token に渡す必要がある一時的なコード。MFA を有効にしていない場合は、このオプションを省略できます。

例:

get_token
    get_token -u ahamilton@apigee.com
    get_token -u ahamilton@apigee.com -p 123456
    get_token -u ahamilton@apigee.com -m 424242
    get_token -u ahamilton@apigee.com:mypassw0rd -m 424242

呼び出しが成功すると、有効なアクセス トークンが stdout に印刷され、アクセス トークンとリフレッシュ トークンの両方が ~/.sso-cli に保存されます。トークンの有効期限に記載されているように、このトークンは期限まで使用できます。

get_token の最初の呼び出しが成功した後、トークンが期限切れになるまで認証情報を含める必要はありません。

get_token の最初の呼び出し

オプションを指定しない場合、get_token は最初の呼び出しでユーザー名(メールアドレス)、パスワードまたはパスコード、一時的な多要素認証(MFA)コードを入力するように要求します。

  • パスワードの代わりにパスコードを使用するには、パスワードの入力時に Enter キーを押します。
  • MFA を使用しない場合は、MFA コードの入力時に Enter キーを押します。

次の例では初めて code を呼び出し、パスワードの代わりに MFA コードを使用して認証します。

get_token
    Enter username:
    ahamilton@apigee.com
    Enter the password for user 'ahamilton@apigee.com'
    [enter]
    Enter the six-digit code if 'ahamilton@apigee.com' is MFA enabled or press ENTER:
    123456

    ey42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJzdWIiOiIyZDFl
      <snip>
    VlLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiwiYXBwcm54242

パスコードの入力をスキップするには、パスコードの入力時に Enter キーを押します。

リクエストにアクセス トークンを追加する

get_token を正常に呼び出すと、アクセス トークンを管理 API 呼び出しの Authorization ヘッダーに渡して使用できます。次のようなさまざまな方法で実行できます。

  • get_token レスポンスの内容をコピーし、ヘッダーに直接挿入します。
    curl -v https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
          -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • コマンドを組み合わせてトークンを取得し、それをヘッダに追加します。
    token=`get_token`; curl -H "Authorization: Bearer $token" \
          https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
  • curl 呼び出しの中で get_token を呼び出します。
    curl -H "Authorization: Bearer `get_token`" \
          https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    get_token はバッククォート(単一引用符ではなく)で囲まれ、実行されることに注意してください。

このサンプルのリクエストでは、ahamilton-eval 組織に関する詳細が返されます。管理 API エンドポイントの一覧については、Apigee 管理 API リファレンスをご覧ください。

get_token の OAuth2 および SAML 両方での使用

この get_token ユーティリティは、OAuth2 および SAML フローの両方で使用して、アクセス トークンを取得しリフレッシュできます。

ただし、両方のフローを使用する場合は、別のマシンを使用するか、新しいトークンを定期的に取得する必要があります。詳細については、OAuth2 と SAML を同時に使用するをご覧ください。