您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
您可以使用 get_token(1) 公用程式,以 Apigee 憑證換取存取和更新權杖,以便存取 Edge API。權杖也可用於 OAuth2 工作流程的 SAML 和 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 並已啟用多重驗證,就必須提供這個代碼。
如果省略,系統會提示您輸入 (除非處於密碼模式)。如果未啟用多重驗證,或使用指令碼流程,可以指定 -m "" 來避免提示。 |
| PASSCODE | (選用) 必須輸入使用者名稱和密碼,或使用密碼。 | 動態密碼可取代密碼。使用 SAML IDP 驗證時必須輸入密碼,使用 LDAP IDP 驗證時則可輸入密碼。 |
例如:
get_tokenget_token -u ahamilton@apigee.com:mypassw0rd -m 424242get_token -p mypass
成功呼叫時,系統會將有效的存取權杖列印至 stdout,並將存取權杖和更新權杖儲存在 ~/.sso-cli 中。如「權杖到期」一節所述,您可以使用這些權杖,直到權杖到期為止。
首次成功呼叫 get_token 後,您不需要提供憑證,直到權杖過期為止。
首次呼叫 get_token
如果您在第一次呼叫時未指定任何選項,get_token 會提示您輸入下列項目:
- 如果使用 SAML 識別資訊提供者 (IDP) 驗證,則為密碼。
- 否則請提供使用者名稱、密碼和臨時多重驗證碼。
下列範例會首次呼叫 get_token,並使用使用者名稱/密碼組合和選用的多重驗證代碼進行驗證:
get_token Enter username:ahamilton@apigee.comEnter the password for user 'ahamilton@apigee.com':[hidden input]Enter the six-digit code if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:123456ey42bGciOiJSUzI1NiJ9.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) 版權所有 2023 Google LLC
我們提供的 get_token 工具是「軟體」,遵循使用 Google Cloud Platform 相關的管理協議,包含以下《服務專屬條款》:https://cloud.google.com/terms/service-terms。