Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Bạn có thể sử dụng dịch vụ OAuth2 của Edge để trao đổi thông tin xác thực của mình lấy mã thông báo truy cập và làm mới. Sau đó, bạn có thể sử dụng mã thông báo này để gọi các điểm cuối của Edge trong quy trình làm việc OAuth.
Ngoài các kỹ thuật được mô tả trong phần này, bạn cũng có thể sử dụng các tiện ích acurl và get_token
để lấy mã thông báo OAuth2.
Đường dẫn
POST https://login.apigee.com/oauth/token
Nếu đang truy cập vào dịch vụ Edge OAuth2 từ một tổ chức hỗ trợ SAML trong Edge cho đám mây công khai, bạn phải thêm tên vùng vào đường dẫn. Ví dụ:
POST https://zone.login.apigee.com/oauth/token
Tiêu đề của yêu cầu
Thông số | Giá trị |
---|---|
Content-Type |
"application/x-www-form-urlencoded" |
Accept |
"application/json;character=utf-8" |
Authorization |
"Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" Bạn có thể xuất giá trị này sang một biến môi trường để có thể sử dụng lại trong những biến này Lệnh gọi API. Ví dụ: export CLIENT_AUTH=ZWRnZWNsaTplZGdlY2xpc2VjcmV0 curl ... -H "Authorization: Basic $CLIENT_AUTH" ... |
Tham số biểu mẫu
Thông số | Bắt buộc? | Giá trị |
---|---|---|
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. |
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. |
mfa_token |
Không bắt buộc | Mã xác thực đa yếu tố (MFA) hợp lệ cho tài khoản của bạn. Chỉ bắt buộc nếu bạn có Đã bật tính năng Xác thực đa yếu tố (MFA). |
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ã xác thực một lần mà 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. |
grant_type |
Bắt buộc | Xác định xem bạn sẽ nhận được mã truy cập mới hay làm mới mã thông báo hiện có. Hợp lệ là:
|
refresh_token |
Không bắt buộc | Mã thông báo bạn truyền để nhận mã thông báo truy cập mới khi mã thông báo truy cập hiện tại đã hết hạn. Bạn phải sử dụng tham số này khi grant_type là "refresh_token". |
Ví dụ
Lấy mã truy cập mới
Để nhận mã thông báo truy cập mới, hãy đặt
grant_type
thành "mật khẩu": curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" \ -X POST https://login.apigee.com/oauth/token \ -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'
Nhận mã thông báo truy cập mới bằng phương thức xác thực đa yếu tố
Để nhận mã truy cập mới có bật MFA (xác thực đa yếu tố), lấy mã MFA rồi đặt tham số
mfa_token
thành giá trị của nó: curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" \ -X POST https://login.apigee.com/oauth/token?mfa_token=424242 \ -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'
Làm mới mã truy cập
Để làm mới mã truy cập, hãy đặt
grant_type
thành "refresh_token" và thêm mã làm mới hiện có dưới dạng thông số biểu mẫu: curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" \ -X POST https://login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=YOUR_REFRESH_TOKEN'Xin lưu ý rằng bạn không cần truyền thông tin xác thực khi làm mới mã truy cập.
Phản hồi
Nếu thành công, bạn sẽ nhận được mã thông báo truy cập, mã thông báo làm mới và thông tin liên quan. Ví dụ:
{ "access_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOimYyD8IP2IyYS1jNmNiLTQ4NTgtYjZkMS1mZjkyNGFkYTk1YWUiLCJzdWIiOiI0X0KLSNjZlNjM0ZC0zZjlhLTRiNYmFjNi1kYjE2M2M5OGEzOGYiLCJzY29wZSI6WyJzYbmlkIiwicGFzc3dvcmQud3JpdGUiLCJhcHByb3ZhbHMubWUiLCJvYXV0aC5hcHByb3ZhbHMiXSwiY2xpZW50X2lkIjoiZWRnZWNsaSIsImNpZCI6ImVkZ2VjbGkiLCJhenAiOiJlZGdlY2xpIiwiZ3JhbnRfdHlwZSI6InBhc3N3b3JkIiwidXNlcl9pZCI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iYWM2LWRiMTYzYzk4YTM4ZiIsIm9yaWdpbiI6InVzZXJncmlkIiwidXNlcl9uYW1lIjoid3dpdG1hbkBhcGlnZWUuY29tIiwiZW1haWwiOiJ3d2l0bWFuQGFwaWdlZS5jb20iLCJhdXRoX3RpbWUiOjE0NzMyNjU4NzcsImFsIjoyLCJyZXZfc2lnIjoiZTc0ZGY0M2QiLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3MzI2NzY3NywiaXNzIjoiaHR0cHM6Ly9sb2dpbi5hcGlnZWUuY29tL29hdXRoL3Rva2VuIiwiemlkIjoidWFhIiwi2ltLm1lIiwib3BlYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.AFuevkeGGUGSPED8leyEKaT-xg1xk_VEiKJLEpipVvQBXIqEc9wqcpm-ZuoatA9DhjASRuFSRaHH8Fasx_vBxEBsUNhRY-GTMw7_8fv4yRMOb2AO3WUl_NWwPkC8XRSI1zCMbAZicojsJ1n3OSP487Mu9dl9ByX5A_QfHV2_cj4l9-SD7u6vOdfdbBxbNMAQkfZLrVIEU8myF2dhKnNeMiuoHSHANsQFcx0_BFA1HnSUnVi4RYj1FlTs9SbcPnS1d7t7eVdxWz_q2OFVXNIBMELAvvM0WhXPYTW3Osve3UvvUs6ekGs-K-RCPSok-4-NJbdCDpZQQTgqHsrf77NTsw", "token_type": "bearer", "refresh_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJmZTIIMZWI0ZS00YzFmLTRjOTEtYmY5Mi1mMzZLEMzNjZhMDctciIsInN1YiI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iY17LLWRiMTYzYzk4YTM4ZiIsInNjb3BlIjpbInNjaW0ubWUiLCJvcGVuaWQiLCJwYXNzd29yZC53cml0ZSIsImFwcHJvdmFscy5tZSIsIm9hdXRoLmFwcHJvdmFscyJdLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3NsaSIsImNsaWVudF9pZCI6ImVkZ2VjbGkiLCJpc3MiOiJodHRwczovL2xvZ2luLmFwaWdlZS5jb20vb2F1dGgvdG9rZW4iLCJ6aWQiOiJ1YWEiLCJncmFudF90eXBlIjoicGFzc3dvcmQiLCJ1c2VyX25hbWUiOiJ3d2l0bWFuQGFwaWdlZS5jbMzM1MDQ3NywiY2lkIjoiZWRnZW20iLCJvcmlnaW4iOiJ1c2VyZ3JpZCIsInVzZXJfaWQiOiI0NjZlNjM0ZC0zZjlhLTRiNDEtYmFjNi1kYjE2M2M5OGEzOGYiLCJhbCI6MiwicmV2X3NpZyI6ImU3NGRmNDNkIiwiYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.kBP5AkbRS7Tnp-5VAfTLVfkUbUer4gFEU6A7g202KTKiXbqTwPSmOIGFTK12XevVPQYmAaSMFAnempWKfY7sjaY7HC7q3mGl53_A18cnkKhtNq15wCnyMom_bX_MYLW1RQPFytJ6akSJ-JkoPFU0x_FQg1JIvub1A8eqQxcR0KP-QRCxYAS4HTjH80vDIxHNt1tg7clmpa3RlHri0dlPVVsSpTXXhkpXRg5QbiWMrpkACSV22c0x0KiNu7vx5A520VOCO7hQ7IzmVIcSWcRqI97L7WdCjH_q4105bs2qmW73670MC0UGiJ9t5B1S1cxwqpUEd-NAuCsY8SVn6eWzbA", "expires_in": 1799, "scope": "scim.me openid password.write approvals.me oauth.approvals", "jti": "9bf2cb2a-c6cb-4858-b6d1-ff924ada95ae" }
Lưu các giá trị phản hồi:
- Sử dụng
access_token
trong các lệnh gọi đến Edge API - Hãy sử dụng
refresh_token
khi mã truy cập của bạn hết hạn và bạn cần làm mới nó
Nếu bạn nhận được phản hồi như sau:
{ "error": "unauthorized", "error_description": "Bad credentials" }
Hãy đảm bảo rằng bạn đã sử dụng chính xác chuỗi được cung cấp ở trên ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") cho tiêu đề Authorization
trong yêu cầu của bạn.