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 mã truy cập và làm mới OAuth2. Bạn sử dụng các mã thông báo này để xác thực chính mình trong các lệnh gọi API Edge bằng OAuth (bao gồm cả quy trình làm việc SAML và LDAP):

  • acurl(1): Cung cấp một trình bao bọc tiện lợi xung quanh lệnh curl chuẩn. Tạo các yêu cầu HTTP cho API Edge, lấy mã truy cập và làm mới từ get_token, đồng thời chuyển mã truy cập đến API Edge.
  • get_token(1): Trao đổi thông tin xác thực của Apigee 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 tiện ích này đều đổi thông tin đăng nhập của tài khoản Apigee của bạn (tên người dùng và mật khẩu hoặc mật mã) để lấy mã thông báo OAuth2.

Mã thông báo do tiện ích Apigee tạo ra tuân thủ quy cách kỹ thuật của Khung cấp quyền OAuth 2.0.

Bạn không bắt buộc phải sử dụng tiện ích Apigee để lấy 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 các lược đồ của riêng mình để tạo mã truy cập OAuth2 và gửi các mã đó trong yêu cầu đến API Edge.

Cài đặt acurl và get_token

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

Cách cài đặt acurlget_token:

  1. Tạo một 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:
    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, thì tập lệnh cài đặt sẽ cài đặt các tiện ích trong /usr/local/bin.

  5. Kiểm thử các bản 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 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 lệnh gọi API thành công 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 đăng nhập và nhận mã thông báo mới.

Đặt điểm cuối Đăng nhập một lần (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 thiết bị đầu cuối, hãy đặt biến môi trường SSO_LOGIN_URL thành điểm cuối của máy chủ uỷ quyền. Ví dụ:

  • Đối với những khách hàng dùng nền tảng đá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ụ Cloud có khu vực:
    export SSO_LOGIN_URL=https://zone_name.login.apigee.com
  • Đối với khách hàng dùng nền tảng đám mây riêng tư, hãy liên hệ với quản trị viên để biết điểm cuối SSO phù 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 tự xác thực với tiện ích để 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 chuyển vào tên người dùng, mật khẩu và mã MFA của tài khoản Apigee. Tuy nhiên, nếu đang sử dụng nhà cung cấp danh tính (IDP) SAML hoặc không muốn dùng mật khẩu của mình, bạn có thể lấy mật mã một lần để sử dụng.

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

  1. Nhập URL sau đây vào trình duyệt:
    • Đối với những khách hàng dùng nền tảng đá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ụ Cloud có khu vực:
      https://zone_name.login.apigee.com/passcode
    • Đối với khách hàng dùng nền tảng đám mây riêng tư, hãy liên hệ với quản trị viên để biết điểm cuối SSO phù 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 và 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 bạn thực thi acurl hoặc get_token thành công, các tiện ích sẽ tạo một tệp dữ liệu trong ~/.sso-cli chứa mã thông báo và các 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" 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.