基本驗證是對 Edge 管理 API 發出呼叫時驗證的一種方式。舉例來說,您可以向 Edge 管理 API 提出下列 curl
要求,以便存取貴機構的相關資訊:
curl -u USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
在這個範例中,使用 curl
-u
選項來通過基本驗證
憑證或者,您也可以透過 Bearer
標頭傳遞 OAuth2 權杖,
Edge Management API 呼叫,如以下範例所示:
curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
啟用外部 IdP 進行驗證後,您可以選擇停用基本版
驗證。停用基本版
驗證、所有可存取的指令碼 (例如 Maven、shell 和 apigeetool
)
要求基本驗證的 Edge Management API 呼叫會停止運作。必須更新
使用基本驗證機制傳送 OAuth2 存取權杖的任何 API 呼叫和指令碼
Bearer
標頭。
使用 get_token 取得及更新符記
get_token
公用程式會交換您的基本驗證憑證 (在某些情況下,
密碼) 來進行 OAuth2 存取權及更新權杖。get_token
公用程式接受您的
憑證,並傳回有效的存取權杖。如果權杖可以重新整理,公用程式會重新整理
然後傳回如果重新整理權杖到期,系統會提示使用者提供憑證。
get_token
公用程式會將權杖儲存至磁碟,供需要時使用。這項服務
也會輸出有效的存取權杖至 stdout
。接著,您可以使用瀏覽器擴充功能,例如
Postman 或將其嵌入環境變數中,以便在 curl
中使用。
如何取得 OAuth2 存取權杖以執行 Edge Management API 呼叫:
- 下載
sso-cli
軟體包:curl http://EDGE_SSO_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
其中 EDGE_SSO_IP_DNS 是託管目標機器的 IP 位址或 DNS 名稱 Apigee 單一登入 (SSO) 模組。如果您已在 Apigee SSO 上設定 TLS,請使用
https
和正確的 TLS 通訊埠號碼。 - 解壓縮
ssocli-bundle.zip
套件,如以下範例所示:unzip ssocli-bundle.zip
- 在
/usr/local/bin
中安裝get_token
,如以下範例所示:./install -b PATH
-b
選項指定其他位置。 - 在下方將
SSO_LOGIN_URL
環境變數設為您的登入網址 表單:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
其中 EDGE_SSO_IP_DNS 是託管 Apigee 單一登入 (SSO) 服務的機器 IP 位址 後續課程我們將逐一介紹 預先訓練的 API、AutoML 和自訂訓練如果您在 Apigee 單一登入 (SSO) 上設定了 TLS,請使用
https
和正確的 TLS 通訊埠 號碼。 - (僅限 SAML) 在瀏覽器中前往以下網址,取得一次性憑證
密碼:
http://EDGE_SSO_IP_DNS:9099/passcode
如果您已在 Apigee SSO 上設定 TLS,請使用
https
和正確的 TLS 通訊埠號碼。此要求會傳回一次性密碼,直到您重新整理該網址, 取得新密碼或使用
get_token
的密碼來產生 存取權杖請注意,只有在透過 SAML IDP 進行驗證時,才能使用密碼。您無法使用 使用 LDAP IDP 進行驗證的密碼。
- 叫用
get_token
以取得 OAuth2 存取權杖,如以下範例所示:get_token -u EMAIL_ADDRESS
其中 EMAIL_ADDRESS 是 Edge 使用者的電子郵件地址。
(僅限 SAML) 除了電子郵件地址外,請在指令列中輸入密碼,如以下範例所示:
get_token -u EMAIL_ADDRESS -p PASSCODE
get_token
公用程式會取得 OAuth2 存取權杖,並將其輸出至螢幕,然後將該權杖和更新權杖寫入~/.sso-cli
。 - 將存取權杖做為
Bearer
標頭傳遞給 Edge Management API 呼叫。 如以下範例所示:curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP:8080/v1/organizations/ORG_NAME
- 首次取得新的存取權杖後,您可以取得存取權杖,並在單一指令中將其傳遞至 API 呼叫,如以下範例所示:
header=`get_token` && curl -H "Authorization: Bearer $header" https://MS_IP:8080/v1/o/ORG_NAME
使用這類指令時,如果存取權杖已過期,系統會自動重新整理存取權杖,直到更新權杖過期為止。
(僅限 SAML) 重新整理權杖到期後,get_token
會提示您輸入新的密碼。個人中心
必須先前往上方步驟 3 顯示的網址,並產生新的密碼,才能開始產生密碼
取得新的 OAuth 存取權杖
使用 Management API 取得及重新整理 權杖
使用 OAuth2 瞭解如何運用 Apigee Edge Management API 進行安全性 用於取得及更新權杖的 Edge Management API。您也可以使用 Edge API 呼叫取得權杖 。
和先前提過的 API 呼叫 使用 OAuth2 Apigee Edge Management API 的安全防護,表示呼叫的網址必須參照您的 可用區名稱此外,如要透過 SAML IDP 產生初始存取權杖,您必須加上 密碼,如上述程序的步驟 3 所示。
如要進行授權,請在 Authorization
中傳遞保留的 OAuth2 用戶端憑證
標題。呼叫會在畫面中列印存取權和更新權杖。
取得存取憑證
(LDAP) 使用下列 API 呼叫產生初始存取權並重新整理 符記:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://EDGE_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'
(SAML) 使用下列 API 呼叫產生初始存取權並重新整理 符記:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://EDGE_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&response_type=token&passcode=PASSCODE'
請注意,SAML IDP 需要臨時密碼才能進行驗證,LDAP IDP 則是 則不需要。
重新整理存取權杖
稍後如要更新存取權杖,請使用下列包含更新權杖的呼叫:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://EDGE_SSO_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'