get_token
ユーティリティを使用すると、Apigee 認証情報をアクセス トークンおよび更新トークンと交換できます。その後、これらのトークンを使用して Apigee 管理 API にアクセスできます。acurl
とは異なり、get_token
は単にトークンを取得してディスクに保存するだけです。有効なトークンをリクエストに追加し、有効期限が切れたときに新しいトークンを取得するのは、お客様自身で行ってください。
アクセス トークンは、OAuth、SAML、または LDAP ワークフローで管理 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 アカウントのパスワード。パスワードを省略すると、パスワードの入力が求められます。コマンドで直接パスワードを使用したくない場合は、パスワードの代わりにワンタイム コードのパスコードを使用できます(SAML の場合のみ)。 |
mfa_code | 省略可 | 多要素認証(MFA)を有効にしている場合に get_token に渡す必要がある一時的なコード。MFA を有効にしていない場合は、このオプションを省略できます。 |
passcode | 省略可 | パスワードの代わりに使用できるワンタイム パスコード。パスコードを使用できるのは、SAML IDP で認証する場合のみです。LDAP IDP での認証にパスコードを使用することはできません。 |
例:
get_tokenget_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)コードを入力するよう求められます。
- (SAML のみ)パスワードの代わりにパスコードを使用するには、パスワードの入力時に Enter キーを押します。
- MFA を使用しない場合は、MFA コードの入力時に Enter キーを押します。
次の例は、初めて get_token
を呼び出したときに、パスワードの代わりに 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
get_token
は単一引用符ではなくバッククォートで囲まれているため、実行されます。 curl
を呼び出すときにその内部でget_token
を呼び出します。curl -H "Authorization: Bearer `get_token`" \ https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
get_token
は単一引用符ではなくバッククォートで囲まれているため、実行されます。
このサンプルのリクエストでは、ahamilton-eval 組織に関する詳細が返されます。管理 API エンドポイントの一覧については、Apigee Management API リファレンスをご覧ください。
OAuth2、SAML、LDAP で get_token を使用する
get_token
ユーティリティを OAuth2、SAML、LDAP のフローで使用して、アクセス トークンを取得および更新できます。
ただし、複数のフローを使用する場合は、別のマシンを使用するか、新しいトークンを定期的に取得しなければならないことがあります。詳細については、OAuth2 と SAML または LDAP を同時に使用するをご覧ください。