Giới thiệu về acurl và 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

Apigee cung cấp các tiện ích tiện lợi sau đây để tạo và truyền quyền truy cập OAuth2 và làm mới mã. Bạn dùng những mã thông báo này để xác thực chính mình trong API Edge cuộc gọi bằng OAuth (bao gồm Quy trình làm việc qua SAML và giao thức truy cập thư mục hạng nhẹ (LDAP):

  • acurl(1): Cung cấp một trình bao bọc tiện lợi xung quanh một tiêu chuẩn Lệnh curl. Tạo các yêu cầu HTTP đến Edge API, nhận mã truy cập và làm mới từ get_token, đồng thời chuyển mã truy cập đến Cạnh API.
  • get_token(1): Trao đổi thông tin đăng nhập Apigee của bạn để truy cập và làm mới mã thông báo mà bạn có thể dùng để gọi API Edge.

Cả hai phần mềm tiện ích này đều trao đổi thông tin đăng nhập tài khoản Apigee (tên người dùng và mật khẩu hoặc mật mã) để lấy Mã thông báo OAuth2.

Những mã thông báo do các tiện ích Apigee tạo ra sẽ tuân thủ Khung uỷ quyền OAuth 2.0 .

Bạn không bắt buộc phải dùng các tiện ích Apigee để nhận mã thông báo hoặc truy cập vào máy chủ xác thực cho các API Edge. Bạn có thể triển khai giao thức của riêng mình để tạo mã truy cập OAuth2 rồi gửi các mã đó trong yêu cầu cho Edge API.

Cài đặt acurl và get_token

Apigee cung cấp tệp ZIP chứa acurl(1), get_token(1), và tập lệnh cài đặt.

Cách cài đặt acurlget_token:

  1. Tạo thư mục cài đặt trên máy của bạn hoặc dùng thư mục usr/local/bin mặc định.
  2. Tải tệp ZIP cài đặt từ Apigee xuống:
    curl https://login.apigee.com/resources/scripts/sso-cli/ssocli-bundle.zip -O
  3. Giải nén tệp đã tải xuống.
  4. Thực thi tập lệnh cài đặt:
    sudo ./install -b /usr/local/bin

    Tuỳ chọn -b chỉ định vị trí của các tệp thực thi. Nếu bạn không chỉ định tuỳ chọn này, tập lệnh cài đặt sẽ cài đặt các tiện ích trong /usr/local/bin.

  5. Kiểm tra việc cài đặt:
        acurl -h
        get_token -h

    Nếu cài đặt thành công, các lệnh này sẽ trả về văn bản Trợ giúp cho các tiện ích.

Thời hạn của mã thông báo

acurlget_token tạo mã thông báo với các thời lượng sau:

  • Mã truy cập sẽ hết hạn sau 12 giờ.
  • Mã làm mới sẽ hết hạn sau 30 ngày.

Do đó, sau khi thực hiện thành công lệnh gọi API bằng acurl hoặc get_token, bạn có thể tiếp tục sử dụng cặp mã thông báo này trong 30 ngày. Sau khi hết hạn, bạn phải nhập lại thông tin xác thực và nhận mã thông báo mới.

Đặt điểm cuối SSO

Trước khi thực hiện lệnh gọi đầu tiên, bạn phải đặt điểm cuối máy chủ uỷ quyền cho API Edge mà bạn muốn sử dụng với acurlget_token.

Trên cửa sổ dòng lệnh, hãy đặt biến môi trường SSO_LOGIN_URL thành lệnh uỷ quyền điểm cuối máy chủ. Ví dụ:

  • Đối với khách hàng sử dụng dịch vụ đám mây không có vùng:
    export SSO_LOGIN_URL=https://login.apigee.com
  • Đối với những khách hàng sử dụng dịch vụ đám mây sử dụng vùng:
    export SSO_LOGIN_URL=https://zone_name.login.apigee.com
  • Đối với khách hàng sử dụng Cloud riêng tư, hãy liên hệ với quản trị viên để biết điểm cuối SSO thích hợp.

Sử dụng mật mã một lần (bắt buộc đối với SAML)

Khi thực hiện lệnh gọi API bằng acurl hoặc get_token, bạn phải xác thực chính bạn vào để nhận cặp mã thông báo. Bạn có thể thực hiện việc này bằng cách truyền dữ liệu vào Apigee tên người dùng, mật khẩu và mã MFA của tài khoản. Tuy nhiên, nếu bạn đang sử dụng một IDP SAML hoặc bạn không muốn để sử dụng mật khẩu của mình, bạn có thể nhận mật mã của mã một lần để sử dụng.

Cách nhận mật mã một lần:

  1. Nhập URL sau vào trình duyệt:
    • Đối với khách hàng sử dụng dịch vụ đám mây không có vùng:
      https://login.apigee.com/passcode
    • Đối với những khách hàng sử dụng dịch vụ đám mây sử dụng vùng:
      https://zone_name.login.apigee.com/passcode
    • Đối với khách hàng sử dụng Cloud riêng tư, hãy liên hệ với quản trị viên để biết điểm cuối SSO thích hợp.
  2. Đăng nhập vào tài khoản Apigee của bạn.
  3. Sao chép mật mã gồm 6 ký tự.
  4. Sử dụng acurl hoặc get_token với tuỳ chọn -p rồi truyền mật mã, như trong ví dụ sau:
    get_token -p 1a2b3c

Xem mã thông báo của bạn

Khi thực thi thành công acurl hoặc get_token, các tiện ích tạo một tệp dữ liệu trong ~/.sso-cli chứa mã thông báo và siêu dữ liệu khác.

Để xem mã thông báo, bạn có thể dùng một lệnh như sau:

get_token -v

Lệnh này hiển thị các thông báo xác nhận quyền sở hữu mã thông báo đã giải mã, ví dụ:

Decoded token claims:
 {
  "jti": "8018507e-9f34-4a90-bf97-ff226a06b19b",
  "sub": "858217a9-01a1-4111-8525-75ca555f5d5c",
  "scope": [
    "scim.emails.read",
    "scim.me",
    "openid",
    "password.write",
    "approvals.me",
    "scim.ids.read",
    "oauth.approvals"
          ],
  "client_id": "edgecli",
  "cid": "edgecli",
  "azp": "edgecli",
  "grant_type": "password",
  "user_id": "858217a9-01a1-4111-8525-75ca555f5d5c",
  "origin": "usergrid",
  "user_name": "myusername@google.com",
  "email": "myusername@google.com",
  "auth_time": 1597444772,
  "al": 0,
  "rev_sig": "6271c527",
  "iat": 1597444772,
  "exp": 1597487972,
  "iss": "https://login.apigee.com",
  "zid": "uaa",
  "aud": [
    "edgecli",
    "scim.emails",
    "scim",
    "openid",
    "password",
    "approvals",
    "scim.ids",
    "oauth"
        ]
    }
Current timestamp: 1597444983
Existing access token is still valid

(1) Bản quyền 2023 Google LLC
Các công cụ acurlget_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.