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.
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
để vượt qua quy trình Xác thực cơ bản
thông tin xác thực. Ngoài ra, bạn có thể chuyển mã thông báo OAuth2 trong tiêu đề Bearer
để thực hiện
Các lệnh gọi API Quản lý máy cạnh, như trong ví dụ sau đây:
curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName
Sau khi bật một IDP bên ngoài để xác thực, bạn có thể tuỳ ý tắt chế độ Basic
xác thực. Nếu bạn tắt Cơ bản
xác thực, tất cả các tập lệnh (chẳng hạn như Maven, shell và apigeetool
)
dựa vào các lệnh gọi API quản lý Edge hỗ trợ phương thức Xác thực cơ bản không còn hoạt động nữa. Bạn phải cập nhật
bất kỳ lệnh gọi API và tập lệnh nào sử dụng Xác thực cơ bản để chuyển mã thông báo truy cập OAuth2 trong
Tiêu đề Bearer
.
Lấy và làm mới mã thông báo bằng get_token
Tiện ích get_token
sẽ trao đổi thông tin xác thực Cơ bản của bạn (và trong một số trường hợp,
mật mã) để truy cập OAuth2 và mã làm mới. Tiện ích get_token
chấp nhận
thông tin xác thực và trả về mã truy cập hợp lệ. Nếu có thể làm mới mã thông báo, tiện ích này sẽ làm mới
và trả lại. 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.
Tiện ích get_token
lưu trữ các mã thông báo trên đĩa, sẵn sàng để sử dụng khi cần. Nó
cũng in mã thông báo truy cập hợp lệ tới stdout. Từ đó, bạn có thể sử dụng một tiện ích của trình duyệt như
Người đưa thư hoặc nhúng tệp đó vào một biến môi trường để sử dụng trong curl
.
Cách lấy mã truy cập OAuth2 để thực hiện các 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 hoặc tên DNS của máy lưu trữ Mô-đun SSO của Apigee. Nếu bạn đã định cấu hình TLS trong dịch vụ SSO của Apigee, hãy dùng
https
và đúng cách Số cổng TLS. - Giải nén gói
ssocli-bundle.zip
như trong ví dụ sau:unzip ssocli-bundle.zip
- Cài đặt
get_token
trong/usr/local/bin
, như trong ví dụ sau:./install -b path
Tuỳ chọn
-b
chỉ định một vị trí khác. - Đặt biến môi trường
SSO_LOGIN_URL
thành URL đăng nhập của bạn, theo cách sau 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 máy lưu trữ SSO của Apigee . Nếu bạn đã định cấu hình TLS trong dịch vụ SSO của Apigee, hãy sử dụng
https
và đúng cổng TLS số. - (chỉ với SAML) Trong trình duyệt, hãy chuyển đến URL sau để nhận mã xác minh một lần
mật mã:
http://edge_sso_IP_DNS:9099/passcode
Nếu bạn đã định cấu hình TLS trong dịch vụ SSO của Apigee, hãy sử dụng
https
và đúng cổng TLS số.Yêu cầu 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 mã truy cập.Xin lưu ý rằng bạn chỉ có thể sử dụng mật mã khi xác thực bằng nhà cung cấp danh tính (IDP) dựa trên SAML. Bạn không thể sử dụng mật mã để xác thực với IDP LDAP.
- Gọi
get_token
để lấy mã truy cập OAuth2, như ví dụ sau đây:get_token -u emailAddress
Trong đó emailAddress là địa chỉ email của một người dùng Edge.
(Chỉ dành cho SAML) Ngoài email, hãy nhập mật mã trên dòng lệnh của Google, như trong ví dụ sau đây:
get_token -u emailAddress -p passcode
Tiện ích
get_token
lấy mã truy cập OAuth2, in mã đó vào màn hình rồi ghi mã đó cùng mã làm mới vào~/.sso-cli
. - Truyền mã truy cập vào lệnh gọi API quản lý Edge dưới dạng tiêu đề
Bearer
, như trong ví dụ sau đây:curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
- Sau lần đầu nhận mã truy cập mới, bạn có thể lấy mã truy cập và
truyền lệnh gọi đó đến một lệnh gọi API trong một lệnh, như trong ví dụ sau:
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ã sẽ tự động được làm mới cho đến khi mã làm mới hết hạn.
(Chỉ SAML) Sau khi mã làm mới hết hạn, get_token
sẽ nhắc bạn nhập mật mã mới. Bạn
phải điều hướng đến URL hiển thị ở bước 3 ở trên và tạo mật mã mới trước khi bạn có thể tạo
mã truy cập OAuth mới.
Sử dụng API quản lý để tải và làm mới mã thông báo
Sử dụng OAuth2 bằng API quản lý Apigee Edge cho biết 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 để nhận 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 OAuth2 bảo mật bằng API quản lý Apigee Edge là URL của cuộc gọi phải tham chiếu đến tên vùng. Ngoài ra, để tạo mã truy cập ban đầu bằng một nhà cung cấp danh tính (IDP) dựa trên SAML, bạn phải cung cấp mật mã, như được hiển thị trong bước 3 của quy trình trên.
Để 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ấy mã truy cập
(LDAP) Sử dụng lệnh gọi API sau để tạo quyền truy cập ban đầu và làm mới mã thông báo:
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'
(SAML) Sử dụng lệnh gọi API sau đây để tạo quyền truy cập ban đầu và làm mới mã thông báo:
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'
Xin lưu ý rằng việc xác thực bằng nhà cung cấp danh tính (IDP) dựa trên SAML yêu cầu mật mã tạm thời, trong khi nhà cung cấp danh tính LDAP thì không.
Làm mới mã truy cập
Để 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'