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ể đưa ra yêu cầu curl sau đây cho Edge Management API để truy cập vào thông tin về tổ chức của mình:
curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Trong ví dụ này, bạn sử dụng lựa chọn curl -u để truyền thông tin xác thực Xác thực cơ bản. Ngoài ra, bạn có thể truyền mã thông báo OIDC/OAuth2 trong tiêu đề Authorization: Bearer để thực hiện
lệnh gọi API quản lý Edge, như trong ví dụ sau:
curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Sau khi bật một IDP bên ngoài để xác thực, bạn có thể tắt chế độ xác thực Cơ bản (không bắt buộc). Nếu bạn tắt Xác thực cơ bản, tất 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ợ Xác thực cơ bản sẽ không còn hoạt động. Bạn phải cập nhật mọi lệnh gọi API và tập lệnh sử dụng phương thức xác thực Cơ bản để truyền mã truy cập OAuth2 trong tiêu đề Bearer.
Nhận và làm mới mã làm mới bằng get_token
Tiện ích get_token sử dụng Quy trình mã thiết bị OAuth 2.0 tiêu chuẩn để lấy mã truy cập và mã làm mới OIDC/OAuth2. Tiện ích này nhắc bạn truy cập vào một URL trong trình duyệt để xác thực thông qua IDP bên ngoài (hoặc LDAP cục bộ), sau đó tự động bỏ chặn thiết bị đầu cuối để in mã truy cập hợp lệ.
Tiện ích get_token lưu mã thông báo một cách an toàn vào bộ nhớ đệm trên ổ đĩa trong ~/.sso-cli/, sẵn sàng để sử dụng khi cần. Thao tác này cũng in một mã truy cập hợp lệ vào stdout. Nếu có thể làm mới một mã thông báo hiện có, tiện ích này sẽ tự động làm mới mã đó. Nếu mã làm mới hết hạn, thì mã này sẽ bắt đầu một quy trình uỷ quyền mới dựa trên trình duyệt.
Cách lấy mã truy cập OAuth2 để thực hiện lệnh gọi API quản lý Edge:
- Các phần mềm tiện ích
get_tokenvàacurlđược cài đặt trước trên nút lưu trữ SSO của Apigee (nút OpenLDAP) tại:/opt/apigee/apigee-openldap/bin/ - (Không bắt buộc) Đặt biến môi trường
SSO_LOGIN_URLthành URL của công ty phát hành SSO, theo định dạng:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Trong đó EDGE_SSO_IP_DNS là địa chỉ IP hoặc tên DNS của máy lưu trữ SSO của Apigee. Nếu bạn đã định cấu hình TLS trên Apigee SSO, hãy sử dụng
httpsvà số cổng TLS chính xác. - Gọi
get_tokenbằng địa chỉ email của bạn để bắt đầu Quy trình mã thiết bị OAuth 2.0:/opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS
Trong đó EMAIL_ADDRESS là địa chỉ email của người dùng Edge.
- Tiện ích này sẽ tạm dừng và in một URL cùng mã thiết bị gồm 8 ký tự vào thiết bị đầu cuối của bạn:
Please visit: http://EDGE_SSO_IP_DNS:9099/device And enter code: ABCD-EFGH
- Mở URL được chỉ định trong trình duyệt, nhập mã thiết bị rồi nhấp vào Gửi. Bạn sẽ được chuyển hướng đến IDP bên ngoài (hoặc biểu mẫu LDAP cục bộ) để xác thực và phê duyệt yêu cầu.
- Sau khi bạn xác thực thành công trong trình duyệt, hãy quay lại thiết bị đầu cuối. Tiện ích
get_tokensẽ tự động phát hiện sự chấp thuận, lấy mã truy cập OAuth2, in mã đó ra màn hình và lưu mã đó vào bộ nhớ đệm một cách an toàn. - Truyền mã truy cập đến một lệnh gọi API quản lý Edge bằng cách sử dụng tiện ích
acurl. Tiện ích này sẽ tự động đọc mã thông báo được lưu vào bộ nhớ đệm và chèn tiêu đề Bearer:/opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Ngoài ra, bạn có thể truyền mã thông báo theo cách thủ công bằng cách sử dụng
curlchuẩn:curl -H "Authorization: Bearer ACCESS_TOKEN" \ http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Sử dụng API quản lý để lấy và làm mới mã thông báo
Điểm cuối /passcode cũ đã bị xoá. Do đó, người dùng phải sử dụng tiện ích get_token như mô tả trước đó để bắt đầu Quy trình mã thiết bị OAuth 2.0 dựa trên trình duyệt cho quy trình xác thực ban đầu.
Nếu bạn đang viết tập lệnh hoặc quy trình CI/CD không thể tương tác với trình duyệt, hãy xem phần Tự động hoá các tác vụ bằng người dùng máy. Người dùng hoặc ứng dụng máy tự động có thông tin đăng nhập hợp lệ có thể sử dụng các lệnh gọi API tiêu chuẩn để lấy và làm mới mã thông báo.