Sử dụng get_token

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến Tài liệu về 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 của mình lấy quyền truy cập và mã làm mới mà bạn có thể dùng để truy cập vào API Edge. Bạn cũng có thể sử dụng mã thông báo này với SAML và cách triển khai LDAP của quy trình làm việc OAuth2.

get_token cho phép bạn:

  • Nhận quyền truy cập hoặc mã làm mới.
  • In mã thông báo thành stdout để sử 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ã thông báo hợp lệ vào yêu cầu của mình vào API Edge 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: Trước khi có thể sử dụng get_token, bạn phải cài đặt tiện ích đó.

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 kết hợ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 không cần chuyển địa chỉ email cho đến khi mã truy cập và mã làm mới hết hạn. Nếu bạn đ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 của mình trong mỗi lệnh gọi.
PASSWORD Không bắt buộc. Bạn phải kết hợ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 này, bạn sẽ được nhắc nhập mã này vào lần đầu tiên bạn sử dụng get_token và trong bất kỳ lệnh gọi nào tiếp theo mà không có mã làm mới. Nếu không muốn sử dụng mật khẩu của mình ngay trong lệnh, bạn có thể sử dụng mật mã dùng một lần thay cho mật khẩu của bạn.
MFACODE Không bắt buộc Hệ số đa yếu tố tạm thời gồm 6 chữ số xác thực (MFA). Mã này là bắt buộc nếu bạn sử dụng -u và đã bật tính năng xác thực đa yếu tố (MFA). Bạn sẽ được nhắc nếu bỏ qua (trừ phi ở chế độ mật mã). Nếu bạn chưa bật MFA, hoặc có một quy trình theo tập lệnh, bạn có thể chỉ định -m "" để tránh lời nhắc.
PASSCODE Không bắt buộc. Bạn phải kết hợp tên người dùng và mật khẩu hoặc mật mã. Mật mã một lần bạn có thể sử dụng thay cho mật khẩu. Bạn cần phải nhập mật mã khi xác thực bằng một nhà cung cấp danh tính (IDP) dựa trên SAML. Bạn có thể sử dụng mật mã này để xác thực với IDP LDAP.

Ví dụ:

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

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

Sau lần gọi thành công đầu tiên đến get_token, bạn không cần đưa vào 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ỳ tuỳ chọn nào trong cuộc gọi đầu tiên, get_token sẽ nhắc bạn như sau:

  • Mật mã, nếu xác thực với một nhà cung cấp danh tính (IDP) dựa trên SAML.
  • Tên người dùng, mật khẩu của bạn và mã MFA tạm thời, nếu không.

Ví dụ sau đây gọi get_token lần đầu tiên và sử dụng một kết hợp tên người dùng/mật khẩu với mã MFA tuỳ chọn để 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 API Edge theo một số cách. Bạn có thể:

  • Sao chép nội dung của phản hồi get_token rồi chèn trực tiếp vào tiêu đề:
    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ã đó vào tiêu đề:
    token=$(get_token); curl -H "Authorization: Bearer $token" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Lưu ý rằng get_token sử dụng cú pháp thay thế lệnh $(...), vì vậy, thực thi lệnh đó.

  • 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

    Lưu ý rằng get_token sử dụng cú pháp thay thế lệnh $(...), vì vậy, thực thi lệnh đó.

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

Dùng get_token với SAML và Giao thức truy cập thư mục hạng nhẹ (LDAP)

Tiện ích get_token có thể được dùng với SAML, Giao thức truy cập thư mục hạng nhẹ (LDAP), hoặc bất kỳ IDP cơ bản nào khác. get_token hỗ trợ sử dụng nhiều URL đăng nhập 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 của 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 quyền truy cập đã lưu vào bộ nhớ đệm và làm mới mã thông báo cho máy chủ.

  • --clear-all-sso-cache

    Xoá mọi thư mục trong $HOME/.sso-cli, đồng thời loại bỏ mọi mã thông báo đã 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" trong thoả thuận chi phối việc bạn sử dụng Google Cloud Platform, bao gồm cả Dịch vụ Điều khoản cụ thể có tại https://cloud.google.com/terms/service-terms.