使用 get_token

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

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

get_token 可讓您:

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

接著,您可以在要求中將有效的憑證新增至 Edge API,並在過期時取得新權杖。

必備條件:您必須先安裝 get_token,才能使用 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 以及任何不含有效更新權杖的後續呼叫時,系統都會提示您輸入密碼。如果您不想在指令中直接使用您的密碼,可以使用動態密碼來代替密碼。
MFACODE 選用 六位數的暫時多重驗證 (MFA) 代碼。如果您使用 -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 參考資料

搭配 SAML 和 LDAP 使用 get_token

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) Copyright 2023 Google LLC
get_token 工具是依據規範使用 Google Cloud Platform 之協議的「軟體」提供,包括 https://cloud.google.com/terms/service-terms 的《服務專屬條款》。