Edge for Private Cloud phiên bản 4.17.09
Xác thực cơ bản là một cách để xác thực khi thực hiện lệnh gọi đến API quản lý Edge. Cho ví dụ: bạn có thể gửi yêu cầu cURL sau đây tới API quản lý Edge để truy cập thông tin về tổ chức của bạn:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
Trong ví dụ này, bạn sử dụng tuỳ chọn cURL -u để chuyển thông tin xác thực cơ bản. Ngoài ra, bạn
có thể chuyển mã thông báo OAuth2 trong tiêu đề Bearer
để tạo API quản lý Edge
cuộc gọi. Ví dụ:
curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
Sau khi bật SAML, bạn có thể tuỳ ý tắt tính năng Xác thực cơ bản. nếu bạn tắt Xác thực cơ bản, tất cả
các tập lệnh (tập lệnh Maven, tập lệnh shell, apigeetool
, v.v.) dựa vào Edge
các lệnh gọi API quản lý hỗ trợ tính năng Xác thực cơ bản không còn hoạt động nữa. Bạn phải cập nhật mọi lệnh gọi API và
các tập lệnh sử dụng Xác thực cơ bản để chuyển mã truy cập OAuth2 trong tiêu đề Bearer.
Dùng get_token để lấy và làm mới mã thông báo
Tiện ích get_token
trao đổi thông tin xác thực Xác thực cơ bản và mật mã để truy cập OAuth2 và mã thông báo làm mới. Chiến lược phát hành đĩa đơn
Tiện ích get_token
chấp nhận
thông tin xác thực và in mã truy cập hợp lệ. Nếu có thể làm mới một mã thông báo, mã đó sẽ được làm mới và
in ra. Nếu mã làm mới hết hạn, mã sẽ nhắc nhập thông tin đăng nhập của người dùng.
Cửa hàng tiện ích get_token
các mã thông báo trên đĩa, sẵn sàng để sử dụng khi được yêu cầu. Thao tác này cũng in mã thông báo truy cập hợp lệ vào stdout.
Từ đó, bạn có thể sử dụng Postman hoặc nhúng đoạn mã này vào một biến môi trường để sử dụng trong curl.
Quy trình sau đây mô tả cách dùng get_token
để lấy mã truy cập OAuth2 cho
thực hiện lệnh gọi API quản lý Edge:
- Tải gói
sso-cli
xuống:curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
trong đó edge_sso_IP_DNS là địa chỉ IP của tên DNS của máy lưu trữ mô-đun SSO của Edge. Nếu bạn đã định cấu hình TLS trong dịch vụ SSO của cạnh, hãy sử dụng
https
và số cổng TLS chính xác. - Giải nén gói
ssocli-bundle.zip
:unzip ssocli-bundle.zip
- Cài đặt
get_token
trong/usr/local/bin
:
./install
Sử dụng tuỳ chọn
-b
để chỉ định một vị trí khác:./install -b path
- Đặt biến môi trường
SSO_LOGIN_URL
thành URL đăng nhập, trong biểu mẫu:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
trong đó edge_sso_IP_DNS là địa chỉ IP của tên DNS của máy lưu trữ mô-đun SSO của Edge. Nếu bạn đã định cấu hình TLS trong dịch vụ SSO của cạnh, hãy sử dụng
https
và số cổng TLS chính xác. - Trong trình duyệt, hãy truy cập vào URL sau để lấy mật mã một lần:
http://edge_sso_IP_DNS:9099/passcode
Nếu bạn đã định cấu hình TLS trong dịch vụ SSO của cạnh, hãy sử dụng
https
và số cổng TLS chính xác.URL này trả về mật mã một lần vẫn có hiệu lực cho đến khi bạn làm mới URL đó để nhận mật mã mới hoặc bạn sử dụng mật mã với
get_token
để tạo một quyền truy cập mã thông báo. - Gọi
get_token
để lấy mã truy cập OAuth2:
get_token -u emailAddress
trong đó emailAddress là địa chỉ email của một người dùng Edge. Bạn lời nhắc nhập mật mã một lần mà bạn đã nhận được ở bước 3:
One Time Code ( Get one at https://edge_sso_IP.com/passcode ) Enter the passcode if SAML is enabled or press ENTER:
Nhập mật mã. Tiện ích
get_token
lấy quyền truy cập OAuth2 mã thông báo, in mã đó ra màn hình rồi ghi mã và mã làm mới vào~/.sso-cli
Bạn có thể nhập mật mã trên dòng lệnh bằng cách sử dụng Lệnh
get_token
trong biểu mẫu:get_token -u emailAddress -p passcode
- Truyền mã truy cập vào lệnh gọi API quản lý Edge dưới dạng tiêu đề Bearer:
curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
Sau lần đầu có được mã truy cập mới, bạn có thể lấy mã truy cập và chuyển lệnh đó đến lệnh gọi API trong một lệnh, như minh hoạ dưới đây:
header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
Với hình thức lệnh này, nếu mã truy cập đã hết hạn, mã truy cập sẽ tự động được làm mới cho đến khi mã làm mới hết hạn.
Sau khi mã làm mới hết hạn, get_token
sẽ nhắc bạn nhập một mật mã mới. Bạn
Bạn phải truy cập URL hiển thị trong Bước 3 ở trên và tạo mật mã mới trước khi có thể tạo
mã truy cập OAuth mới
Sử dụng API quản lý để nhận và làm mới mã thông báo
Sử dụng OAuth2 bằng API quản lý Apigee Edge có chứa hướng dẫn về cách sử dụng Edge Management API để lấy và làm mới mã thông báo. Bạn cũng có thể dùng lệnh gọi API Edge để lấy mã thông báo được tạo từ thông tin xác nhận SAML.
Điểm khác biệt duy nhất giữa các lệnh gọi API được ghi lại trong Sử dụng cơ chế bảo mật OAuth2 với API quản lý Apigee Edge là URL của cuộc gọi phải tham chiếu đến vùng của bạn . Ngoài ra, để tạo mã truy cập ban đầu, bạn phải thêm mật mã, như như được trình bày ở bước 3 của quy trình trên.
Ví dụ: sử dụng lệnh gọi API sau đây để tạo mã truy cập ban đầu và mã làm mới:
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'
Để uỷ quyền, hãy chuyển thông tin đăng nhập dành riêng cho ứng dụng OAuth2 vào Authorization
. Lệnh gọi sẽ in mã truy cập và mã làm mới lên màn hình.
Để làm mới mã truy cập sau này, hãy sử dụng lệnh gọi có chứa mã làm mới sau đây:
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'