Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Phần này mô tả cách sử dụng Edge API để tạo các sản phẩm API để xuất bản trong cổng thông tin dành cho nhà phát triển.
Tạo sản phẩm API bằng API
Các sản phẩm API cho phép nhà phát triển đăng ký những ứng dụng sử dụng API bằng khoá API và mã truy cập OAuth. Các sản phẩm API được thiết kế để cho phép bạn "gói" các tài nguyên API rồi xuất bản các gói đó cho nhiều nhóm nhà phát triển. Ví dụ: bạn có thể cần xuất bản một nhóm tài nguyên API cho các nhà phát triển đối tác, trong khi bạn xuất bản một gói khác cho các nhà phát triển bên ngoài. Các sản phẩm API cho phép bạn thực hiện việc kết hợp này ngay lập tức mà không cần thay đổi gì đối với chính các API. Một lợi ích khác là quyền truy cập của nhà phát triển có thể được "nâng cấp" và "hạ cấp" mà không yêu cầu nhà phát triển phải lấy khoá người dùng mới cho ứng dụng của họ.
Để tạo một sản phẩm API bằng API, hãy gửi yêu cầu POST đến /organizations/{org_name}/apiproducts.
Để biết thêm thông tin, hãy xem tài liệu tham khảo API Tạo sản phẩm API.
Yêu cầu sau đây sẽ tạo một sản phẩm API có tên là weather_free. Sản phẩm API cung cấp quyền truy cập vào tất cả các API do proxy API có tên là weatherapi cung cấp, được triển khai trong môi trường test. Loại phê duyệt được đặt thành auto, cho biết mọi yêu cầu truy cập sẽ được phê duyệt.
curl -X POST https://api.enterprise.apigee.com/v1/organization/myorg/apiproducts \
-H "Content-Type:application/json" \
-d \
'{
"approvalType": "auto",
"displayName": "Free API Product",
"name": "weather_free",
"proxies": [ "weatherapi" ],
"environments": [ "test" ]
}' \
-u email:password
Phản hồi mẫu:
{ "apiResources" : [ ], "approvalType" : "auto", "attributes" : [ ], "createdAt" : 1362759663145, "createdBy" : "developer@apigee.com", "displayName" : "Free API Product", "environments" : [ "test" ], "lastModifiedAt" : 1362759663145, "lastModifiedBy" : "developer@apigee.com", "name" : "weather_free", "proxies" : [ "weatherapi" ], "scopes" : [ ] }
Sản phẩm API được tạo ở trên triển khai kịch bản cơ bản nhất, cho phép các yêu cầu đến một proxy API trong một môi trường. Sản phẩm này xác định một sản phẩm API cho phép một ứng dụng được uỷ quyền truy cập vào mọi tài nguyên API được truy cập thông qua proxy API đang chạy trong môi trường thử nghiệm. Các sản phẩm API cung cấp thêm chế độ cài đặt cấu hình cho phép bạn tuỳ chỉnh quyền kiểm soát truy cập vào API của mình cho các nhóm nhà phát triển khác nhau. Ví dụ: bạn có thể tạo 2 sản phẩm API cung cấp quyền truy cập vào các proxy API khác nhau. Bạn cũng có thể tạo 2 sản phẩm API cung cấp quyền truy cập vào cùng một proxy API, nhưng có các chế độ cài đặt Hạn mức được liên kết khác nhau.
Chế độ cài đặt cấu hình sản phẩm API
Các sản phẩm API cung cấp những lựa chọn cấu hình sau:
| Tên | Mô tả | Mặc định | Bắt buộc? |
|---|---|---|---|
apiResources |
Một danh sách URI được phân tách bằng dấu phẩy hoặc đường dẫn tài nguyên, "được gói" vào sản phẩm API. Theo mặc định, các đường dẫn tài nguyên được ánh xạ từ biến Bạn có thể chọn một đường dẫn cụ thể hoặc chọn tất cả đường dẫn con bằng ký tự đại diện.
Hỗ trợ ký tự đại diện (/** và /*). Ký tự đại diện có hai dấu hoa thị cho biết rằng tất cả các URI phụ đều được đưa vào. Một dấu hoa thị cho biết chỉ những URI ở cấp độ thấp hơn mới được đưa vào. |
Không áp dụng | Không |
approvalType |
Chỉ định cách phê duyệt khoá API để truy cập vào các API do sản phẩm API xác định. Nếu được đặt thành manual, khoá được tạo cho ứng dụng sẽ ở trạng thái "đang chờ xử lý".
Những khoá như vậy sẽ không hoạt động cho đến khi được phê duyệt rõ ràng. Nếu được đặt thành auto, tất cả các khoá sẽ được tạo trong "đã phê duyệt" và hoạt động ngay lập tức. (auto thường được dùng để cấp quyền truy cập vào các sản phẩm API dùng thử/miễn phí có Hạn mức hoặc chức năng hạn chế.) |
Không áp dụng | Có |
attributes |
Mảng thuộc tính có thể dùng để mở rộng hồ sơ sản phẩm API mặc định bằng siêu dữ liệu dành riêng cho khách hàng.
Sử dụng thuộc tính này để chỉ định cấp truy cập của sản phẩm API là công khai, riêng tư hoặc nội bộ. Ví dụ:
"attributes": [
{
"name": "access",
"value": "public"
},
{
"name": "foo","value": "foo" }, { "name": "bar", "value": "bar" }
]
|
Không áp dụng | Không |
scopes |
Danh sách được phân tách bằng dấu phẩy gồm các phạm vi OAuth được xác thực trong thời gian chạy. (Apigee Edge xác thực rằng các phạm vi trong mọi mã truy cập được trình bày khớp với phạm vi được đặt trong sản phẩm API.) | Không áp dụng | Không |
proxies |
Các proxy API được đặt tên mà sản phẩm API này được liên kết. Bằng cách chỉ định các proxy, bạn có thể liên kết các tài nguyên trong sản phẩm API với các proxy API cụ thể, ngăn nhà phát triển truy cập vào các tài nguyên đó thông qua các proxy API khác. | Không áp dụng | Không. Nếu không được xác định, bạn phải xác định rõ ràng apiResources (xem thông tin về apiResources ở trên) và đặt biến flow.resource.name trong chính sách AssignMessage. |
environments |
Các môi trường được đặt tên (ví dụ: "test" hoặc "prod") mà sản phẩm API này được liên kết. Bằng cách chỉ định một hoặc nhiều môi trường, bạn có thể liên kết các tài nguyên được liệt kê trong sản phẩm API với môi trường cụ thể, ngăn nhà phát triển truy cập vào những tài nguyên đó thông qua các proxy API trong một môi trường khác. Ví dụ: chế độ cài đặt này được dùng để ngăn các tài nguyên được liên kết với các proxy API trong "prod" bị các proxy API được triển khai trong "test" truy cập. | Không áp dụng | Không. Nếu không được xác định, bạn phải xác định rõ ràng apiResources và đặt biến flow.resource.name trong chính sách AssignMessage. |
quota |
Số lượng yêu cầu được phép cho mỗi ứng dụng trong khoảng thời gian đã chỉ định. | Không áp dụng | Không |
quotaInterval |
Số lượng đơn vị thời gian mà hạn mức được đánh giá | Không áp dụng | Không |
quotaTimeUnit |
Đơn vị thời gian (phút, giờ, ngày hoặc tháng) mà hạn mức được tính. | Không áp dụng | Không |
Sau đây là một ví dụ chi tiết hơn về cách tạo một sản phẩm API.
curl -X POST https://api.enterprise.apigee.com/v1/o/{org_name}/apiproducts \
-H "Content-Type:application/json" -d \
'{
"apiResources": [ "/forecastrss" ],
"approvalType": "auto",
"attributes":
[ {"name": "access", "value": "public"} ],
"description": "Free API Product",
"displayName": "Free API Product",
"name": "weather_free",
"scopes": [],
"proxies": [ "weatherapi" ],
"environments": [ "test" ],
"quota": "10",
"quotaInterval": "2",
"quotaTimeUnit": "hour" }' \
-u email:password
Phản hồi mẫu
{ "apiResources" : [ "/forecastrss" ], "approvalType" : "auto", "attributes" : [ { "name" : "access", "value" : "public" }, "createdAt" : 1344454200828, "createdBy" : "admin@apigee.com", "description" : "Free API Product", "displayName" : "Free API Product", "lastModifiedAt" : 1344454200828, "lastModifiedBy" : "admin@apigee.com", "name" : "weather_free", "scopes" : [ ], "proxies": [ {'weatherapi'} ], "environments": [ {'test'} ], "quota": "10", "quotaInterval": "1", "quotaTimeUnit": "hour"}' }
Giới thiệu về phạm vi
Phạm vi là một khái niệm được lấy từ OAuth và tương ứng với khái niệm về "quyền". Trên Apigee Edge, phạm vi hoàn toàn không bắt buộc. Bạn có thể dùng phạm vi để đạt được mức uỷ quyền chi tiết hơn. Mỗi khoá của người dùng: được cấp cho một ứng dụng đều được liên kết với một "phạm vi chính". Phạm vi chính là tập hợp tất cả các phạm vi trong tất cả các sản phẩm API mà ứng dụng này đã được phê duyệt. Đối với các ứng dụng được phê duyệt để sử dụng nhiều sản phẩm API, phạm vi chính là hợp của tất cả các phạm vi được xác định trong các sản phẩm API mà khoá người dùng đã được phê duyệt.
Xem các sản phẩm API
Để xem các sản phẩm API được tạo cho một tổ chức bằng API, hãy xem các phần sau:
- Xem các sản phẩm API (đã kiếm tiền)
Theo mặc định, chỉ những sản phẩm API được kiếm tiền mới xuất hiện (tức là những sản phẩm API có ít nhất một gói giá đã xuất bản). Để hiển thị tất cả sản phẩm API, hãy đặt tham số truy vấn
monetizedthànhfalse. Thao tác này tương đương với việc đưa ra yêu cầu GET cho API sản phẩm List API không được kiếm tiền:https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts?expand=true - Xem các sản phẩm API (không kiếm tiền)
- Xem các sản phẩm API đủ điều kiện cho một nhà phát triển
- Xem các sản phẩm API đủ điều kiện của một công ty
Sau đây là ví dụ về cách xem các sản phẩm API bằng API:
curl -X GET "https://ext.apiexchange.org/v1/mint/organizations/{org_name}/products?monetized=true" \
-H "Accept:application/json" \
-u email:password
Phản hồi sẽ có dạng như sau (chỉ một phần của phản hồi được hiển thị):
{
"product" : [ {
"customAtt1Name" : "user",
"customAtt2Name" : "response size",
"customAtt3Name" : "content-length",
"description" : "payment api product",
"displayName" : "payment",
"id" : "payment",
"name" : "payment",
"organization" : {
...
},
"pricePoints" : [ ],
"status" : "CREATED",
"transactionSuccessCriteria" : "status == 'SUCCESS'"
}, {
"customAtt1Name" : "user",
"customAtt2Name" : "response size",
"customAtt3Name" : "content-length",
"description" : "messaging api product",
"displayName" : "messaging",
"id" : "messaging",
"name" : "messaging",
"organization" : ...
},
"pricePoints" : [ ],
"status" : "CREATED",
"transactionSuccessCriteria" : "status == 'SUCCESS'"
} ],
"totalRecords" : 2
}Đăng ký nhà phát triển bằng API
Tất cả ứng dụng đều thuộc về nhà phát triển hoặc công ty. Do đó, để tạo một ứng dụng, trước tiên bạn cần đăng ký một nhà phát triển hoặc công ty.
Nhà phát triển được đăng ký trong một tổ chức bằng cách tạo hồ sơ. Xin lưu ý rằng email của nhà phát triển có trong hồ sơ được dùng làm khoá duy nhất cho nhà phát triển trên Apigee Edge.
Để hỗ trợ việc kiếm tiền, bạn phải xác định các thuộc tính kiếm tiền khi tạo hoặc chỉnh sửa nhà phát triển. Bạn cũng có thể xác định các thuộc tính tuỳ ý khác để sử dụng trong hoạt động phân tích tuỳ chỉnh, thực thi chính sách tuỳ chỉnh, v.v.; Apigee Edge sẽ không diễn giải các thuộc tính tuỳ ý này,
Ví dụ: yêu cầu sau đây đăng ký một hồ sơ cho nhà phát triển có địa chỉ email là ntesla@theremin.com và xác định một nhóm nhỏ các thuộc tính kiếm tiền bằng cách sử dụng API Tạo nhà phát triển:
$ curl -H "Content-type:application/json" -X POST -d \
'{"email" : "ntesla@theremin.com",
"firstName" : "Nikola",
"lastName" : "Tesla",
"userName" : "theremin",
"attributes" : [
{
"name" : "project_type",
"value" : "public"
},
{
"name": "MINT_BILLING_TYPE",
"value": "POSTPAID"
},
{
"name": "MINT_DEVELOPER_ADDRESS",
"value": "{\"address1\":\"Dev One Address\",\"city\":\"Pleasanton\",\"country\":\"US\",\"isPrimary\":true,\"state\":\"CA\",\"zip\":\"94588\"}"
},
{
"name": "MINT_DEVELOPER_TYPE",
"value": "TRUSTED"
},
{
"name": "MINT_HAS_SELF_BILLING,
"value": "FALSE"
},
{
"name" : "MINT_SUPPORTED_CURRENCY",
"value" : "usd"
}
]
}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers \
-u email:password
Phản hồi mẫu
{ "email" : "ntesla@theremin.com", "firstName" : "Nikola", "lastName" : "Tesla", "userName" : "theremin", "organizationName" : "{org_name}", "status" : "active", "attributes" : [ { "name" : "project_type", "value" : "public" }, { "name": "MINT_BILLING_TYPE", "value": "POSTPAID" }, { "name": "MINT_DEVELOPER_ADDRESS", "value": "{\"address1\":\"Dev One Address\",\"city\":\"Pleasanton\",\"country\":\"US\",\"isPrimary\":true,\"state\":\"CA\",\"zip\":\"94588\"}" }, { "name": "MINT_DEVELOPER_TYPE", "value": "TRUSTED" }, { "name": "MINT_HAS_SELF_BILLING, "value": "FALSE" }, { "name" : "MINT_SUPPORTED_CURRENCY", "value" : "usd" } ], "createdAt" : 1343189787717, "createdBy" : "admin@apigee.com", "lastModifiedAt" : 1343189787717, "lastModifiedBy" : "admin@apigee.com" }
Đăng ký ứng dụng nhà phát triển bằng API
Mỗi ứng dụng được đăng ký trên Apigee Edge đều được liên kết với một nhà phát triển và một sản phẩm API. Khi một ứng dụng được đăng ký thay mặt cho nhà phát triển, Apigee Edge sẽ tạo một "thông tin xác thực" (một cặp khoá và bí mật của người dùng) để xác định ứng dụng. Sau đó, ứng dụng phải truyền thông tin xác thực này trong mọi yêu cầu đến một sản phẩm API được liên kết với ứng dụng.
Yêu cầu sau đây sử dụng API Tạo ứng dụng của nhà phát triển để đăng ký một ứng dụng cho nhà phát triển mà bạn đã tạo ở trên: ntesla@theremin.com. Khi đăng ký một ứng dụng, bạn sẽ xác định tên cho ứng dụng, một callbackUrl và danh sách gồm một hoặc nhiều sản phẩm API:
$ curl -H "Content-type:application/json" -X POST -d \
'{
"apiProducts": [ "weather_free"],
"callbackUrl" : "login.weatherapp.com",
"keyExpiresIn" : "2630000000",
"name" : "weatherapp"}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps \
-u email:password
Một số loại cấp quyền sử dụng OAuth (chẳng hạn như mã uỷ quyền) sử dụng callbackUrl để xác thực các yêu cầu chuyển hướng từ ứng dụng. Nếu bạn sử dụng OAuth, thì giá trị này phải được đặt thành giá trị giống như redirect_uri được dùng để thực hiện các yêu cầu OAuth.
Thuộc tính keyExpiresIn chỉ định, tính bằng mili giây, cho thời gian tồn tại của khoá của người dùng: sẽ được tạo cho ứng dụng nhà phát triển. Giá trị mặc định là -1, cho biết thời hạn vô hiệu vô thời hạn.
Phản hồi mẫu
{ "appId": "5760d130-528f-4388-8c6f-65a6b3042bd1", "attributes": [ { "name": "DisplayName", "value": "Test Key Expires" }, { "name": "Notes", "value": "Just testing this attribute" } ], "createdAt": 1421770824390, "createdBy": "wwitman@apigee.com", "credentials": [ { "apiProducts": [ { "apiproduct": "ProductNoResources", "status": "approved" } ], "attributes": [], "consumerKey": "jcAFDcfwImkJ19A5gTsZRzfBItlqohBt", "consumerSecret": "AX7lGGIRJs6s8J8y", "expiresAt": 1424400824401, "issuedAt": 1421770824401, "scopes": [], "status": "approved" } ], "developerId": "e4Oy8ddTo3p1BFhs", "lastModifiedAt": 1421770824390, "lastModifiedBy": "wwitman@apigee.com", "name": "TestKeyExpires", "scopes": [], "status": "approved" }
Quản lý khoá người dùng cho các ứng dụng sử dụng API
Lấy khoá của người dùng: (Khoá API) cho ứng dụng
Thông tin đăng nhập cho một ứng dụng (sản phẩm API, khoá của người dùng: và khoá bí mật) được trả về trong hồ sơ ứng dụng. Quản trị viên của một tổ chức có thể truy xuất khoá của người dùng bất cứ lúc nào.
Hồ sơ ứng dụng hiển thị giá trị của khoá và bí mật của người dùng, trạng thái của khoá người dùng, cũng như mọi mối liên kết sản phẩm API cho khoá. Là quản trị viên, bạn có thể truy xuất hồ sơ khoá của người dùng bất cứ lúc nào bằng cách sử dụng API Lấy thông tin chi tiết về khoá cho một ứng dụng nhà phát triển:
$ curl -X GET -H "Accept: application/json" \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J \
-u email:password
Phản hồi mẫu
{
"apiProducts" : [ {
"apiproduct" : "weather_free",
"status" : "approved"
} ],
"attributes" : [ ],
"consumerKey" : "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
"consumerSecret" : "1eluIIdWG3JGDjE0",
"status" : "approved"
}Hãy xem phần Lấy thông tin chi tiết về khoá cho ứng dụng của nhà phát triển để biết thêm.
Thêm một sản phẩm API vào ứng dụng và khoá
Để cập nhật một ứng dụng nhằm thêm một sản phẩm API mới, bạn thực sự thêm sản phẩm API đó vào khoá của ứng dụng bằng cách sử dụng API Thêm sản phẩm API vào khoá. Hãy xem phần Thêm sản phẩm API vào khoá để biết thêm thông tin.
Việc thêm một sản phẩm API vào khoá ứng dụng cho phép ứng dụng giữ khoá truy cập vào các tài nguyên API được đi kèm trong sản phẩm API. Lệnh gọi phương thức sau đây sẽ thêm một sản phẩm API mới vào một ứng dụng:
$ curl -H "Content-type:application/json" -X POST -d \
'{
"apiProducts": [ "newAPIProduct"]
}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J \
-u email:password
Phản hồi mẫu:
{
"apiProducts": [
{
"apiproduct": "weather_free",
"status": "approved"
},
{
"apiproduct": "newAPIProduct",
"status": "approved"
}
],
"attributes": [],
"consumerKey": "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
"consumerSecret": "1eluIIdWG3JGDjE0",
"expiresAt": -1,
"issuedAt": 1411491156464,
"scopes": [],
"status": "approved"
}
Phê duyệt khoá người dùng
Khi đặt loại phê duyệt thành thủ công, bạn có thể kiểm soát những nhà phát triển có thể truy cập vào các tài nguyên được bảo vệ bằng sản phẩm API. Khi sản phẩm API có chế độ phê duyệt khoá được đặt thành manual, khoá người dùng phải được phê duyệt rõ ràng. Bạn có thể phê duyệt khoá một cách rõ ràng bằng cách sử dụng API Phê duyệt hoặc thu hồi khoá cụ thể của ứng dụng nhà phát triển:
$ curl -X POST -H "Content-type:appilcation/octet-stream" \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J?"action=approve" \
-u email:password
Phản hồi mẫu
{
"apiProducts" : [ {
"apiproduct" : "weather_free",
"status" : "approved"
} ],
"attributes" : [ ],
"consumerKey" : "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
"consumerSecret" : "1eluIIdWG3JGDjE0",
"status" : "approved"
}Hãy xem phần Phê duyệt hoặc thu hồi khoá cụ thể của ứng dụng dành cho nhà phát triển để biết thêm thông tin.
Phê duyệt các sản phẩm API cho khoá người dùng
Mối liên kết giữa một sản phẩm API với một khoá của người dùng: cũng có trạng thái. Để truy cập thành công vào API, khoá của người dùng phải được phê duyệt và khoá của người dùng phải được phê duyệt cho sản phẩm API phù hợp. Bạn có thể phê duyệt mối liên kết giữa khoá người dùng và một sản phẩm API bằng cách sử dụng API Phê duyệt hoặc thu hồi sản phẩm API cho khoá của ứng dụng nhà phát triển:
$ curl -X POST -H "Content-type:application/octet-stream" \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J/apiproducts/weather_free?"action=approve" \
-u email:password
Lệnh cURL này không trả về phản hồi. Hãy xem bài viết Phê duyệt hoặc thu hồi Sản phẩm API cho khoá của một ứng dụng dành cho nhà phát triển để biết thêm thông tin.
Thu hồi các sản phẩm API cho khoá người dùng
Có nhiều lý do khiến bạn cần thu hồi mối liên kết của khoá người dùng với một sản phẩm API. Bạn có thể cần xoá một sản phẩm API khỏi khoá của người dùng do nhà phát triển không thanh toán, hết thời gian dùng thử hoặc khi một ứng dụng được chuyển từ sản phẩm API này sang sản phẩm API khác.
Để thu hồi mối liên kết của khoá người dùng với một sản phẩm API, hãy sử dụng API Phê duyệt hoặc Thu hồi khoá cụ thể của ứng dụng nhà phát triển , dùng thao tác thu hồi đối với khoá người dùng của ứng dụng nhà phát triển:
$ curl -X POST -H "Content-type:application/octet-stream" \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J/apiproducts/weather_free?"action=revoke" \
-u email:password
Lệnh cURL này không trả về phản hồi. Hãy xem phần Phê duyệt hoặc thu hồi khoá cụ thể của ứng dụng dành cho nhà phát triển để biết thêm thông tin.
Thực thi chế độ cài đặt sản phẩm API
Để các sản phẩm API được thực thi, bạn phải đính kèm một trong các loại chính sách sau vào quy trình proxy API:
- VerifyAPIKey: Lấy thông tin tham chiếu đến một khoá API, xác minh rằng khoá đó đại diện cho một ứng dụng hợp lệ và khớp với sản phẩm API. Hãy xem chính sách Xác minh khoá API để biết thêm thông tin.
- OAuthV1, thao tác "VerifyAccessToken": Xác minh chữ ký, xác thực mã truy cập OAuth 1.0a và "khoá của người dùng:", đồng thời so khớp ứng dụng với sản phẩm API. Hãy xem Chính sách về OAuth phiên bản 1.0a để biết thêm thông tin.
- OAuthV2, thao tác "VerifyAccessToken": Xác minh rằng mã truy cập OAuth 2.0 hợp lệ, so khớp mã thông báo với ứng dụng, xác minh rằng ứng dụng hợp lệ, sau đó so khớp ứng dụng với một sản phẩm API. Hãy xem Trang chủ OAuth để biết thêm thông tin.
Sau khi bạn định cấu hình các chính sách và sản phẩm API, Apigee Edge sẽ thực hiện quy trình sau:
- Apigee Edge nhận được một yêu cầu và chuyển yêu cầu đó đến API proxy thích hợp.
- Một chính sách được thực thi để xác minh khoá API hoặc mã truy cập OAuth do máy khách cung cấp.
- Edge phân giải Khoá API hoặc mã truy cập thành một hồ sơ ứng dụng.
- Edge phân giải danh sách (nếu có) các sản phẩm API được liên kết với ứng dụng.
- Sản phẩm API đầu tiên khớp với sản phẩm được dùng để điền các biến Hạn mức.
- Nếu không có sản phẩm API nào khớp với khoá API hoặc mã truy cập, thì yêu cầu sẽ bị từ chối.
- Edge thực thi quyền kiểm soát truy cập dựa trên URI (môi trường, proxy API và đường dẫn URI) dựa trên chế độ cài đặt sản phẩm API, cùng với chế độ cài đặt Hạn mức.