Sử dụng get_token

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Tiện ích get_token(1) cho phép bạn trao đổi thông tin đăng nhập Apigee để lấy mã truy cập và mã làm mới mà bạn có thể dùng để truy cập vào các API Edge. Bạn cũng có thể dùng mã thông báo này với các quy trình triển khai SAML và LDAP của quy trình OAuth2.

get_token cho phép bạn:

  • Lấy mã truy cập hoặc mã làm mới.
  • In mã thông báo thành stdout để dùng trong các biến và lệnh.
  • Lưu trữ mã thông báo trên đĩa.

Sau đó, bạn có thể thêm một mã thông báo hợp lệ vào các yêu cầu gửi đến Edge API và nhận mã thông báo mới khi mã thông báo của bạn hết hạn.

Điều kiện tiên quyết: Để có thể sử dụng get_token, bạn phải cài đặt tiện ích này.

Cú pháp get_token

Tiện ích get_token sử dụng cú pháp sau:

get_token -u USERNAME:PASSWORD [-m MFACODE]

hoặc

get_token -p passcode

Trong trường hợp:

Phần tử Bắt buộc? Mô tả
USERNAME Không bắt buộc. Bạn phải nhập tên người dùng và mật khẩu hoặc mật mã. Tên người dùng Apigee của bạn, thường là địa chỉ email liên kết với tài khoản Apigee của bạn. Bạn phải truyền tên người dùng hoặc mật mã vào lần đầu tiên gọi get_token. Bạn sẽ không cần truyền lại địa chỉ email cho đến khi mã truy cập và mã làm mới hết hạn. Nếu đang lưu mã thông báo vào bộ nhớ đệm cho nhiều người dùng, bạn phải chỉ định tên người dùng trong mỗi lệnh gọi.
PASSWORD Không bắt buộc. Bạn phải nhập tên người dùng và mật khẩu hoặc mật mã. Mật khẩu cho tài khoản Apigee của bạn. Nếu bỏ qua mật khẩu, bạn sẽ được nhắc nhập mật khẩu vào lần đầu tiên sử dụng get_token và trong mọi lệnh gọi tiếp theo mà không có mã làm mới hợp lệ. Nếu không muốn sử dụng trực tiếp mật khẩu trong lệnh, bạn có thể sử dụng mật mã gồm mã dùng một lần thay vì mật khẩu.
MFACODE Không bắt buộc xác thực đa yếu tố (MFA) tạm thời gồm 6 chữ số. Bạn phải có mã này nếu sử dụng -u và đã bật tính năng MFA. Bạn sẽ được nhắc nếu bỏ qua (trừ khi ở chế độ mật mã). Nếu chưa bật MFA hoặc có một quy trình được viết sẵn, bạn có thể chỉ định -m "" để tránh nhận được lời nhắc.
PASSCODE Không bắt buộc. Bạn phải nhập tên người dùng và mật khẩu hoặc mật mã. Mật mã một lần mà bạn có thể sử dụng thay cho mật khẩu. Bạn phải có mật mã khi xác thực bằng một IdP SAML và có thể dùng mật mã để xác thực bằng một IdP LDAP.

Ví dụ:

get_token
get_token -u ahamilton@apigee.com:mypassw0rd -m 424242
get_token -p mypass

Một lệnh gọi thành công sẽ in mã truy cập hợp lệ vào stdout và lưu trữ cả mã truy cập và mã làm mới trong ~/.sso-cli. Bạn có thể sử dụng các mã thông báo này cho đến khi chúng hết hạn, như mô tả trong phần Thời gian hết hạn của mã thông báo.

Sau khi gọi thành công lần đầu đến get_token, bạn không cần phải cung cấp thông tin đăng nhập cho đến khi mã thông báo hết hạn.

Gọi get_token lần đầu tiên

Nếu bạn không chỉ định bất kỳ lựa chọn nào trong cuộc gọi đầu tiên, get_token sẽ nhắc bạn thực hiện những việc sau:

  • Mã truy cập, nếu xác thực bằng nhà cung cấp dịch vụ danh tính (IDP) SAML.
  • Tên người dùng, mật khẩu và mã MFA tạm thời.

Ví dụ sau đây gọi get_token lần đầu tiên và sử dụng tổ hợp tên người dùng/mật khẩu với mã MFA không bắt buộc để xác thực:

get_token
Enter username:
ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
123456

ey42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJzdWIiOiIyZDFl
  <snip>
VlLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiwiYXBwcm54242

Thêm mã truy cập vào yêu cầu

Sau khi gọi thành công get_token, bạn có thể sử dụng mã truy cập bằng cách truyền mã này vào tiêu đề Authorization của các lệnh gọi đến Edge API theo một số cách. Bạn có thể:

  • Sao chép nội dung của phản hồi get_token và chèn trực tiếp vào tiêu đề của bạn:
    curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
      -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • Kết hợp các lệnh để lấy mã thông báo và thêm mã thông báo đó vào tiêu đề:
    token=$(get_token); curl -H "Authorization: Bearer $token" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Xin lưu ý rằng get_token sử dụng cú pháp thay thế lệnh $(...) để lệnh này được thực thi.

  • Gọi get_token trong lệnh gọi curl:
    curl -H "Authorization: Bearer $(get_token)" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Xin lưu ý rằng get_token sử dụng cú pháp thay thế lệnh $(...) để lệnh này được thực thi.

Các yêu cầu mẫu này sẽ lấy thông tin chi tiết về tổ chức "ahamilton-eval". Để xem danh sách đầy đủ các điểm cuối của API Edge, hãy xem Tài liệu tham khảo về API Apigee Edge.

Sử dụng get_token với SAML và LDAP

Bạn có thể dùng tiện ích get_token với SAML, LDAP hoặc bất kỳ IDP cơ bản nào khác. get_token hỗ trợ việc sử dụng nhiều URL đăng nhập bằng SSO và nhiều tài khoản. Một người dùng có nhiều tài khoản sẽ được nhắc chỉ định tên người dùng cho mỗi lệnh gọi get_token.

Xoá bộ nhớ đệm get_token

Bạn có thể sử dụng các cờ không bắt buộc sau để xoá bộ nhớ đệm get_token:

  • --clear-sso-cache

    Xoá thư mục bộ nhớ đệm cho SSO_LOGIN_URL trong $HOME/.sso-cli, loại bỏ mọi mã thông báo truy cập và mã thông báo làm mới đã lưu vào bộ nhớ đệm cho máy chủ.

  • --clear-all-sso-cache

    Xoá tất cả các thư mục trong $HOME/.sso-cli, loại bỏ tất cả các mã thông báo được lưu vào bộ nhớ đệm.


(1) Bản quyền 2023 Google LLC
Công cụ get_token được cung cấp dưới dạng "Phần mềm" theo thoả thuận chi phối việc bạn sử dụng Google Cloud Platform, bao gồm cả Điều khoản dành riêng cho dịch vụ có tại https://cloud.google.com/terms/service-terms.