您正在查看 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_tokenget_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 的《服務專屬條款》。