Phần 2: Tạo và kiểm thử khoá API

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

Tái cấu trúc và chuyển hướng đến Bảo mật API bằng cách yêu cầu khoá API.

Nhà phát triển tạo một ứng dụng đưa ra yêu cầu đến API của bạn để truy cập vào các dịch vụ phụ trợ. Để kiểm soát quyền truy cập vào các API của mình, bạn có thể yêu cầu nhà phát triển truyền khoá API trên mọi yêu cầu. Nếu khoá bị thiếu hoặc không hợp lệ, yêu cầu sẽ không thành công.

Xuất bản là quy trình cung cấp API của bạn cho nhà phát triển ứng dụng sử dụng. API phát hành có thể được xác định chung bằng các tác vụ sau:

  1. Tạo các sản phẩm API trên Apigee Edge để nhóm các API của bạn.
  2. Đăng ký nhà phát triển ứng dụng trên Edge. Chỉ nhà phát triển ứng dụng đã đăng ký mới có thể đăng ký ứng dụng.
  3. Nhà phát triển đăng ký ứng dụng trên Edge để truy cập vào các sản phẩm API. Để phản hồi, nhà phát triển sẽ nhận được một khoá API. Giờ đây, nhà phát triển đã có khoá API, họ có thể gửi yêu cầu đến API của bạn.

Để biết thêm thông tin, hãy xem phần Giới thiệu về tính năng xuất bản.

Bảng sau đây định nghĩa một số thuật ngữ được dùng để đăng ký ứng dụng và tạo khoá:

Thuật ngữ Định nghĩa
Sản phẩm API Một gói gồm các proxy API kết hợp với một gói dịch vụ đặt ra giới hạn về quyền truy cập vào những API đó. Sản phẩm API là cơ chế trung tâm mà Apigee Edge sử dụng để uỷ quyền và kiểm soát quyền truy cập vào API của bạn.
Nhà phát triển Người dùng API. Nhà phát triển viết các ứng dụng đưa ra yêu cầu đối với API của bạn.
Ứng dụng Một ứng dụng phía máy khách mà nhà phát triển đăng ký để truy cập vào một sản phẩm API. Việc đăng ký ứng dụng với sản phẩm API sẽ tạo ra khoá API để truy cập vào các API trong sản phẩm đó.
Khoá API Một chuỗi chứa thông tin uỷ quyền mà ứng dụng phía máy khách dùng để truy cập vào các tài nguyên do sản phẩm API cung cấp. Khoá API được tạo khi một ứng dụng đã đăng ký được liên kết với một sản phẩm API.

Điều kiện tiên quyết cho hướng dẫn này

Hướng dẫn này giả định rằng bạn đã hoàn thành hướng dẫn đầu tiên, trong đó bạn tạo một proxy API để truy cập vào API thời tiết của Yahoo. Nếu bạn chưa hoàn thành hướng dẫn đầu tiên, hãy xem phần Bảo mật API bằng cách yêu cầu khoá API.

Bước 1: Tạo một sản phẩm API

  1. Trong giao diện người dùng quản lý, hãy nhấp vào thẻ Xuất bản, sau đó nhấp vào Sản phẩm.
  2. Nhấp vào (+) Sản phẩm.
  3. Nhập hoặc chọn các mục sau trong các trường của hộp thoại Thêm sản phẩm:
    Trường Giá trị
    Tên Sản phẩm API miễn phí
    Tên hiển thị Sản phẩm API miễn phí
    Mô tả Sản phẩm API miễn phí
    Môi trường kiểm tra
    Quyền truy cập Chỉ sử dụng nội bộ
    Loại yêu cầu phê duyệt khoá Tự động
    (khoá API sẽ được phê duyệt tự động sau khi được tạo)
    Hạn mức 10 yêu cầu mỗi giờ
    (giới hạn số lượng yêu cầu ở mức 10 mỗi giờ)
    Phạm vi OAuth được phép để trống

    Hộp thoại đã điền thông tin sẽ có dạng như sau:

  4. Trong phần Tài nguyên, hãy chọn:
    • API Proxy: weatherapikey
    • Bản sửa đổi: 1
    • Đường dẫn tài nguyên: /forecastrss**

      Đường dẫn tài nguyên chỉ định những URI tài nguyên mà sản phẩm cho phép ứng dụng truy cập. Trong ví dụ này, một ứng dụng chỉ có thể truy cập vào tài nguyên /forecastrss trên proxy weatherapikey thông qua sản phẩm API này. Bạn không được phép tìm cách sử dụng sản phẩm API này để truy cập vào bất kỳ tài nguyên nào khác trên proxy weatherapiproxy hoặc trên bất kỳ proxy nào khác.

      Bạn được phép dùng ký tự đại diện cho Đường dẫn tài nguyên. Ký tự đại diện "/**" cho biết tất cả các URI phụ đều được đưa vào, tức là một tài nguyên ở dạng /forecastrss/foo/bar. Ký tự đại diện "/" cho biết chỉ những URI ở cấp dưới mới được đưa vào. Hãy xem bài viết Tạo sản phẩm API để biết thêm thông tin.

      Xin lưu ý rằng danh sách thả xuống Đường dẫn tài nguyên cho thấy tất cả các luồng có điều kiện được xác định trên proxy API đã chỉ định. Luồng có điều kiện của một proxy API xác định logic hoặc các bước xử lý liên kết với một đường dẫn tài nguyên. Một sản phẩm API kiểm soát quyền truy cập vào các đường dẫn tài nguyên đó.
  5. Nhấp vào Nhập tài nguyên. Đường dẫn tài nguyên được thêm vào và API proxy weatherapikey sẽ tự động được thêm vào mục API Proxies for Product (API proxy cho sản phẩm).
  6. Nhấp vào Lưu. Sản phẩm mới của bạn sẽ xuất hiện trong trang Sản phẩm.

Tìm hiểu thêm:

Bước 2: Đăng ký nhà phát triển

Để tạo khoá API, bạn phải đăng ký một ứng dụng và liên kết ứng dụng đó với một sản phẩm API. Tuy nhiên, bạn không thể đăng ký ứng dụng nếu chưa đăng ký nhà phát triển của ứng dụng đó.

  1. Trong giao diện người dùng quản lý, hãy nhấp vào thẻ Xuất bản, sau đó nhấp vào Nhà phát triển.
  2. Nhấp vào (+) Nhà phát triển.
  3. Trong hộp thoại Nhà phát triển mới, hãy nhập các giá trị sau:
    • Tên: Jane
    • Họ: Hướng dẫn
    • Địa chỉ email: janetutorial@example.com
    • Tên người dùng: jtutorial
  4. Nhấp vào Lưu. Nhà phát triển mới sẽ xuất hiện trong danh sách nhà phát triển trên trang Nhà phát triển.

Tìm hiểu thêm:

Bước 3: Đăng ký ứng dụng

Giờ đây, khi đã có một sản phẩm API và một nhà phát triển, bạn có thể đăng ký một ứng dụng với sản phẩm API. Việc đăng ký ứng dụng sẽ tạo khoá API cho các sản phẩm API được liên kết với ứng dụng. Sau đó, bạn có thể phân phối khoá này cho các nhà phát triển ứng dụng để họ có thể truy cập vào các tính năng trong sản phẩm API từ ứng dụng.

  1. Trong giao diện người dùng Nền tảng API, hãy nhấp vào thẻ Xuất bản, sau đó nhấp vào Ứng dụng dành cho nhà phát triển.
  2. Nhấp vào (+) Developer App (+ Ứng dụng dành cho nhà phát triển).
  3. Trong hộp thoại Add an App (Thêm ứng dụng), hãy nhập các giá trị sau:
    • Tên hiển thị: Ứng dụng Khoá Weather API
    • Nhà phát triển: Jane Tutorial (janetutorial@example.com)
    • URL gọi lại: để trống
  4. Liên kết ứng dụng với một sản phẩm:
    1. Trong mục Sản phẩm, hãy nhấp vào + Sản phẩm.
    2. Chọn Sản phẩm API miễn phí.
    3. Nhấp vào biểu tượng dấu đánh dấu để chấp nhận các thay đổi.
  5. Nhấp vào Lưu. Ứng dụng mới sẽ xuất hiện trong danh sách ứng dụng trên trang Ứng dụng của nhà phát triển.
  6. Chọn Weather API Key App (Ứng dụng khoá API thời tiết) trong danh sách ứng dụng. Thao tác này sẽ mở trang thông tin chi tiết của ứng dụng.
  7. Vì bạn đã chọn Loại phê duyệt khoá: Tự động khi tạo sản phẩm API, nên khoá API sẽ được phê duyệt tự động và bạn có thể xem ngay. (Nếu đã chọn Loại phê duyệt: Thủ công, bạn sẽ cần nhấp vào Phê duyệt trong cột Hành động cho Sản phẩm API miễn phí để phê duyệt khoá API.)
  8. Trong phần Products (Sản phẩm), bên cạnh mục Free API Product (Sản phẩm API miễn phí), hãy nhấp vào Show (Hiện) trong các cột Consumer Key (Khoá của người dùng) và Consumer Secret (Khoá bí mật của người dùng) để hiển thị các khoá đã tạo.

    Khoá người dùng là một tên khác của khoá API và là khoá duy nhất mà ứng dụng cần để truy cập vào tài nguyên dự báo thông qua proxy API của bạn . Bạn cần có Consumer Secret (cùng với Consumer Key) để bảo mật API thông qua OAuth 2.0. Ví dụ: hãy xem OAuth 2.0: Định cấu hình một proxy API mới.

Tìm hiểu thêm:

Bước 4: Sử dụng khoá API trong yêu cầu

Để đảm bảo chính sách VerifyAPIKey hoạt động chính xác, bạn cần kiểm thử chính sách này bằng cách gọi đến API proxy bằng một khoá API hợp lệ. Bạn có thể yêu cầu proxy API trong trình duyệt, từ trang Dấu vết của proxy API, từ Bảng điều khiển Apigee hoặc bằng cách sử dụng cURL. URL để yêu cầu có dạng:

http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

Thay thế tên tổ chức Apigee của bạn bằng {org-name} và giá trị apikey chính xác.

Tìm nội dung sau đây trong câu trả lời:

<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> 
<channel> <title>Yahoo! Weather - Palo Alto, CA</title> 
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> 
<description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>

Nếu bỏ qua khoá API trong yêu cầu hoặc chỉ định một giá trị khoá không hợp lệ, bạn sẽ nhận được phản hồi lỗi dưới dạng:

{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

Bước 5: Tiếp theo nên làm gì?

Giờ đây, bạn đã gửi yêu cầu đến API bằng cách sử dụng một tham số truy vấn để truyền khoá API, hãy sửa đổi API để truyền khoá dưới dạng tiêu đề.

Tiếp tục với phần Bảo mật API bằng cách yêu cầu khoá API.