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 xác thực Apigee để lấy một mã truy cập và làm mới mà bạn có thể dùng để truy cập API Edge. Bạn cũng có thể sử dụng mã thông báo này với các phương thức triển khai bằng SAML và LDAP cho quy trình làm việc OAuth2.

get_token giúp bạn:

  • Yêu cầu mã truy cập hoặc mã làm mới.
  • In mã thông báo bằng stdout để sử dụng trong các biến và lệnh.
  • Lưu trữ mã thông báo trên ổ đĩa của bạn.

Sau đó, bạn có thể thêm mã thông báo hợp lệ trong 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: Để có thể sử dụng get_token, bạn phải cài đặt ứng dụng 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? Nội dung mô tả
USERNAME Không bắt buộc. Người dùng 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 chuyển tên người dùng hoặc mật mã của mình vào lần đầu tiên bạn gọi điện cho get_token. Bạn sẽ không cần truyền lại địa chỉ email của mình 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 của mình trong mỗi lệnh gọi.
PASSWORD Không bắt buộc. Người dùng 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, bạn sẽ được nhắc nhập mật khẩu này 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 mật khẩu ngay trong lệnh này, bạn có thể sử dụng mật 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 nhập mã này nếu 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 chưa bật tính năng xác thực đa yếu tố (MFA) hoặc có một luồng 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. Người dùng phải kết hợp tên người dùng và mật khẩu hoặc mật mã. Bạn có thể sử dụng mật mã một lần thay cho mật khẩu. Bạn cần có mật mã khi xác thực bằng IDP SAML và có thể sử dụng mật mã để 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ã truy cập hợp lệ cho stdout, đồng thời 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 hết hạn, như mô tả trong bài viết 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 cung cấp thông tin đăng nhập của mình 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 chưa chỉ định tuỳ chọn nào trong lệnh gọi đầu tiên, thì get_token sẽ nhắc bạn những việc sau:

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

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 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 một yêu cầu

Sau khi gọi get_token thành công, bạn có thể sử dụng mã truy cập bằng cách truyền mã đó vào tiêu đề Authorization của 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 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ã đó vào tiêu đề:
    token=$(get_token); curl -H "Authorization: Bearer $token" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Hãy lưu ý rằng get_token sử dụng cú pháp thay thế lệnh $(...) để đượ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

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

Các yêu cầu mẫu này nhận thông tin chi tiết về tổ chức "ahamilton-eval". Để biết danh sách đầy đủ các điểm cuối API Edge, hãy xem Tài liệu tham khảo API về API 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 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ể dùng các cờ tuỳ chọn sau đây để xoá bộ nhớ đệm get_token:

  • --clear-sso-cache

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

  • --clear-all-sso-cache

    Xoá mọi thư mục trong $HOME/.sso-cli và 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" 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.