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

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến Tài liệu về Apigee X.
thông tin

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

Nhà phát triển xây dựng một ứng dụng yêu cầu API của bạn để truy cập vào các dịch vụ phụ trợ của bạn. Để 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ệ, thì yêu cầu sẽ không thành công.

Xuất bản là quá trình cung cấp API của bạn cho nhà phát triển ứng dụng cho người dùng. Có thể định nghĩa rộng rãi Publishing API (API Phát hành) qua các tác vụ sau:

  1. Tạo các sản phẩm API trên Apigee Edge mà nhóm các API của bạn lại.
  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. Đáp lại, nhà phát triển sẽ nhận được khoá API. Giờ đây, khi đã có khoá API, nhà phát triển có thể gửi yêu cầu đến API.

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

Bảng sau đây định nghĩa một số thuật ngữ 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 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 các API đó. Các 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 các API của mình.
Nhà phát triển Người dùng API. Nhà phát triển viết ứng dụng gửi yêu cầu đến 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. Đăng ký ứng dụng có sản phẩm API sẽ tạo khoá API để truy cập vào các API trong sản phẩm đó.
Khoá API Một chuỗi có thông tin uỷ quyền mà ứng dụng phía máy khách dùng để truy cập vào mà sản phẩm API hiển thị. Khoá API được tạo khi một ứng dụng đã đăng ký liên kết với sản phẩm API.

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

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

Bước 1: Tạo 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 đó Sản phẩm.
  2. Nhấp vào (+) Sản phẩm.
  3. Nhập hoặc chọn nội dung sau trong các trường 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 thử nghiệm
    Quyền truy cập Chỉ sử dụng nội bộ
    Loại phê duyệt khoá Tự động
    (khoá API được tự động phê duyệt sau khi được tạo)
    Hạn mức 10 yêu cầu mỗi 1 giờ
    (giới hạn số lượng yêu cầu là 10 yêu cầu mỗi giờ)
    Phạm vi OAuth được phép để trống

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

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

      Đường dẫn tài nguyên chỉ định các URI tài nguyên mà sản phẩm cho phép một ứng dụng để truy cập. Trong ví dụ này, ứng dụng chỉ có thể truy cập vào /forecastrss tài nguyên trên proxy Weatherapikey thông qua sản phẩm API này. Đang cố gắng sử dụng tiện ích này Sản phẩm API để truy cập bất kỳ tài nguyên nào khác trên proxy weatherapiproxy hoặc trên mọi proxy khác đều bị cấm.

      Đường dẫn tài nguyên được phép sử dụng ký tự đại diện. Ký tự đại diện "/**" cho biết rằng tất cả các URI phụ đều được đưa vào, nghĩa là tài nguyên ở dạng /forecastrss/foo/bar. Ký tự đại diện "/" cho biết rằng chỉ URI một cấp bao gồm. Xem bài viết Tạo API sản phẩm để tìm hiểu thêm.

      Lưu ý rằng danh sách thả xuống Đường dẫn tài nguyên hiển thị tất cả các câu lệnh có điều kiện flow được xác định trên proxy API được chỉ định. Luồng có điều kiện của proxy API xác định logic hoặc các bước xử lý, được 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 Import Resource (Nhập tài nguyên). Đường dẫn tài nguyên được thêm vào và proxy API Weatherapikey tự động được thêm vào Proxy API cho Sản phẩm.
  6. Nhấp vào Lưu. Sản phẩm mới của bạn được đăng trên trang Sản phẩm.

Tìm hiểu thêm:

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

Để tạo khoá API, bạn cần đă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ý một ứng dụng nếu không đăng ký trước cho 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à 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: jhướng dẫn
  4. Nhấp vào Lưu. Nhà phát triển mới sẽ xuất hiện trong danh sách các nhà phát triển trên Trang dành cho nhà phát triển.

Tìm hiểu thêm:

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

Giờ đây, bạn đã có một sản phẩm API và một nhà phát triển, bạn có thể đăng ký ứng dụng bằng API của Google. Việc đăng ký ứng dụng sẽ tạo khoá API cho sản phẩm API liên kết với ứng dụng. Sau đó, bạn có thể phân phối khoá này cho nhà phát triển ứng dụng để họ có thể dùng các tính năng trong API sản phẩm 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 Nhà phát triển Ứng dụng.
  2. Nhấp vào Ứ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á API Thời tiết
    • Nhà phát triển: Hướng dẫn của Jane (do hướng dẫn@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 phần 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 kiểm để 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 web của Nhà phát triển Trang ứng dụng.
  6. Chọn Ứng dụng khoá API Thời tiết trong danh sách ứng dụng. Thao tác này sẽ mở trang 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 API sản phẩm, khoá API sẽ tự động được phê duyệt và bạn có thể xem khoá đó ngay lập tức. (Nếu bạn có đã chọn Loại phê duyệt: Thủ công, bạn sẽ cần phải nhấp vào Phê duyệt trong cột Thao tác đối với sản phẩm API miễn phí để phê duyệt API key.)
  8. Trong phần Sản phẩm, bên cạnh mục Sản phẩm API miễn phí, hãy nhấp vào Hiển thị trong mục Khoá người dùngThông tin mật 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ần có Khoá bí mật người dùng (cùng với Khoá người dùng) trong bảo mật API thông qua OAuth 2.0. Ví dụ: OAuth 2.0: Định cấu hình 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 rằng chính sách VerifyAPIKey hoạt động đúng cách, bạn cần kiểm tra chính sách bằng cách thực hiện một gọi đến proxy API bằng khoá API hợp lệ. Bạn có thể yêu cầu proxy API trong một trình duyệt, từ Trang theo dõi của proxy API, trong Bảng điều khiển Apigee hoặc bằng cách sử dụng cURL. URL để yêu cầu nằm trong biểu mẫu:

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.

Hãy tìm nội dung sau trong phản hồ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ạn bỏ qua khoá API trong yêu cầu hoặc chỉ định giá trị khoá không hợp lệ, thì bạn sẽ nhận được phản hồi lỗi trong biểu mẫu:

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

Bước 5: Bạn cần làm gì tiếp theo?

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

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