Private Cloud v. 4.17.09 版本
基本驗證是在呼叫 Edge Management API 時進行驗證的一種方式。適用對象 舉例來說,您可以向 Edge Management API 提出以下 cURL 要求,以便存取資訊 您的機構:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
在這個範例中,使用 cURL -u 選項傳送基本驗證憑證。或者,您也可以
可以透過 Bearer
標頭傳遞 OAuth2 權杖,以便建立 Edge Management API
呼叫。例如:
curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
啟用 SAML 後,您可以選擇停用基本驗證。如果您停用基本驗證
仰賴 Edge 的指令碼 (Maven 指令碼、殼層指令碼、apigeetool
等)
支援基本驗證的 Management API 呼叫已停止運作。您必須更新所有 API 呼叫,並且
使用基本驗證在 Bearer 標頭中傳遞 OAuth2 存取權杖的指令碼。
使用 get_token 取得及更新符記
get_token
公用程式
交換基本驗證憑證和密碼,以獲得 OAuth2 存取權和更新權杖。
「get_token
」公用程式接受你的
並輸出有效的存取權杖如果權杖可以重新整理,就會重新整理並
列印出來。如果更新權杖過期,系統會提示使用者憑證。
get_token
公用事業商店
這些符記隨時能使用該指令也會輸出有效的存取權杖至 stdout。
您可以在這裡使用 Postman,也可以將其嵌入環境變數中,以在 curl 中使用。
以下程序說明如何使用 get_token
取得 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 是機器的 DNS 名稱的 IP 位址 負責託管 Edge SSO 模組如果您已在邊緣單一登入 (SSO) 中設定 TLS,請使用
https
和正確的 TLS 通訊埠號碼。 - 解壓縮
ssocli-bundle.zip
套件:unzip ssocli-bundle.zip
- 在以下位置安裝「
get_token
」:/usr/local/bin
:
./install
使用
-b
選項指定其他位置:./install -b path
- 將
SSO_LOGIN_URL
環境變數設為您的登入網址,格式如下:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
其中 edge_sso_IP_DNS 是機器的 DNS 名稱的 IP 位址 負責託管 Edge SSO 模組如果您已在邊緣單一登入 (SSO) 中設定 TLS,請使用
https
和正確的 TLS 通訊埠號碼。 - 在瀏覽器中前往下列網址,取得一次性密碼:
http://edge_sso_IP_DNS:9099/passcode
如果您已在邊緣單一登入 (SSO) 中設定 TLS,請使用
https
和正確的 TLS 通訊埠編號。這個網址會傳回一次性密碼,直到您重新整理該網址來取得 使用新密碼,或透過「
get_token
」使用密碼產生存取權 產生下一個符記 - 請叫用
get_token
來取得 OAuth2 存取權杖:
get_token -u emailAddress
其中 emailAddress 是 Edge 使用者的電子郵件地址。你正在 系統會提示您輸入您在步驟 3 取得的一次性密碼:
One Time Code ( Get one at https://edge_sso_IP.com/passcode ) Enter the passcode if SAML is enabled or press ENTER:
輸入密碼。
get_token
公用程式會取得 OAuth2 存取權 將其輸出到畫面,然後將權杖和更新權杖寫入~/.sso-cli
。您可以在指令列中使用
get_token
指令,格式如下:get_token -u emailAddress -p passcode
- 將存取權杖做為 Bearer 標頭傳遞給 Edge Management API 呼叫:
curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
首次取得新的存取權杖後,您可以取得存取權杖 透過單一指令將其傳遞至 API 呼叫,如下所示:
header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
使用這個形式的指令時,如果存取權杖已過期,會自動重新整理 直到更新權杖過期為止
更新權杖到期後,get_token
會提示您輸入新的密碼。個人中心
必須前往上方步驟 3 顯示的網址並產生新的密碼,才能開始產生
新的 OAuth 存取權杖
使用 Management API 取得及重新整理 權杖
使用 OAuth2 Apigee Edge Management API 確保安全性包含如何使用 用於取得及更新權杖的 Edge Management API。您也能透過 Edge API 呼叫取得權杖 。
和先前提過的 API 呼叫 使用 OAuth2 安全性功能 使用 Apigee Edge Management API:呼叫的網址必須參照您的可用區 名稱。此外,為產生初始存取權杖,您必須加入通行碼,例如 如上述程序步驟 3 所示。
舉例來說,請使用下列 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'
如要進行授權,請在 Authorization
中傳遞保留的 OAuth2 用戶端憑證
標題。呼叫會在畫面中列印存取權和更新權杖。
稍後如要更新存取權杖,請使用下列包含更新權杖的呼叫:
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=refreshToken'