使用 get_token

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

您可以使用 get_token(1) 公用程式交換 Apigee 憑證,以便取得存取權 並更新可用於存取 Edge API 的權杖憑證也可以與 SAML 搭配使用 和 LDAP 的 OAuth2 工作流程實作。

get_token 的用途包括:

  • 取得存取權或更新權杖。
  • 將權杖列印至 stdout,以便在變數和指令中使用。
  • 將權杖儲存在磁碟。

接著,您可以在向 Edge API 提出的要求中新增有效的權杖,並在權杖到期時取得新權杖。

事前準備:使用 get_token 前,您必須 安裝

get_token 語法

get_token 公用程式使用下列語法:

get_token -u USERNAME:PASSWORD [-m MFACODE]

get_token -p passcode

在此情況下:

元素 必填與否 說明
USERNAME 選填。必須輸入使用者名稱和密碼組合或密碼。 您的 Apigee 使用者名稱,通常是與 Apigee 帳戶相關聯的電子郵件地址。 首次呼叫 get_token 時,您必須傳送使用者名稱或密碼。 不需要傳遞電子郵件 寫入憑證,直到存取權和更新權杖過期為止。如果您要快取權杖 時,您必須在每次呼叫中指定使用者名稱。
PASSWORD 選填。必須輸入使用者名稱和密碼組合或密碼。 您的 Apigee 帳戶密碼。如果您省略密碼,系統會提示您 第一次使用 get_token 以及進行後續呼叫時,請輸入有效的 PIN 碼 重新整理權杖。如果您不想直接在指令中使用密碼,可以使用 動態密碼,而不是密碼。
MFACODE 選用 臨時的六位數多重要素 驗證碼驗證碼。使用 -u 並啟用 MFA 時,必須提供此代碼。 如果省略,系統會提示您 (除非在密碼模式下)。若未啟用 MFA 或者,如果您有事先編寫指令碼的流程,您可以指定 -m "" 來避免顯示提示。
PASSCODE 選填。必須輸入使用者名稱和密碼組合或密碼。 一次性密碼,可取代 密碼。透過 SAML IDP 進行驗證時,必須提供密碼,且系統可使用密碼 使用 LDAP IDP 進行驗證

例如:

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

如果呼叫成功,stdout 會輸出有效的存取權杖,並將 存取及更新 ~/.sso-cli 中的權杖這些權杖可以使用 「權杖有效期限」所述。

第一次成功呼叫 get_token 後,就不必加入 直到權杖過期為止

首次呼叫 get_token

如果您在第一次呼叫時未指定任何選項,get_token 會提示您 包括:

  • 密碼 (透過 SAML 識別資訊提供者 (IDP) 進行驗證時)。
  • 您的使用者名稱、密碼和臨時 MFA 代碼。

以下範例首次呼叫 get_token,並使用 包含驗證選用 MFA 代碼的使用者名稱/密碼:

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

ey42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJzdWIiOiIyZDFl
  <snip>
VlLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiwiYXBwcm54242

將存取權杖加進要求

成功呼叫 get_token 後,即可使用存取權杖 透過多種方式在呼叫 Edge API 的 Authorization 標頭中傳遞這個字串。 您可以:

  • 複製 get_token 回應的內容,然後直接插入您的 標題:
    curl 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」的詳細資料並根據貴機構的使命 價值觀和目標進行調整完整清單 Edge API 端點,請參閱 Apigee Edge API 參考資料

將 get_token 與 SAML 和 LDAP 搭配使用

get_token 公用程式可與 SAML、LDAP 或任何其他基礎 IdP 搭配使用。 get_token 支援多個單一登入 (SSO) 登入網址和多個帳戶。 擁有多個帳戶的單一使用者會提示您指定使用者名稱 每 get_token 次呼叫。

清除 get_token 快取

您可以使用下列選用旗標清除 get_token 快取:

  • --clear-sso-cache

    清除 $HOME/.sso-cli 底下 SSO_LOGIN_URL 的快取目錄 捨棄伺服器的任何快取存取和重新整理權杖。

  • --clear-all-sso-cache

    清除 $HOME/.sso-cli 下所有快取權杖的目錄。


(1) 版權所有 2023 Google LLC
get_token 工具以「軟體」形式提供在 本協議,規範 Google Cloud Platform (包括「服務」) 的使用行為 如需查看專屬條款,請前往 https://cloud.google.com/terms/service-terms