您目前查看的是 Apigee Edge 說明文件。
參閱 Apigee X 說明文件。 資訊
get_token
(1) 公用程式可讓您交換 Apigee 憑證,以便取得存取權及更新權杖,以便用來存取 Edge API。權杖也可以與 SAML 和 OAuth2 工作流程的 LDAP 實作搭配使用。
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 ,以及後續呼叫時,在沒有有效的重新整理權杖時,系統會提示您輸入密碼。如果您不想直接在指令中使用您的密碼,可使用動態密碼,而不要使用密碼。 |
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 所列的《服務專屬條款》)。