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

Tái cấu trúc và chuyển hướng sang phầ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 có nhiệm vụ đưa ra yêu cầu đối với 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, bạn có thể yêu cầu nhà phát triển truyền khoá API vào 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.

Phát hành là quá trình cung cấp các API của bạn cho các nhà phát triển ứng dụng để sử dụng. API phát hành có thể được xác định rộng qua các tác vụ sau:

  1. Tạo các sản phẩm API trên Apigee Edge để gói 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 các API của bạn.

Để biết thêm thông tin, hãy xem phần Giới thiệu về việc phát hành.

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 các 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 bạn.
Nhà phát triển Người dùng API. Nhà phát triển viết ứng dụng đưa ra yêu cầu cho 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 bằng 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à một ứng dụng phía máy khách sử dụng để truy cập vào các tài nguyên do sản phẩm API hiển thị. 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 tất hướng dẫn đầu tiên, trong đó bạn sẽ 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 tất 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 nội dung sau trong 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í
    Nội dung 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 sẽ tự động được phê duyệt sau khi 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 xuống còn 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, hãy chọn:
    • Uỷ quyền API: phục vụ thời tiết
    • Bản sửa đổi: 1
    • Đường dẫn tài nguyên: /Weatherrss**

      Đườ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 tài nguyên /forecastrss trên proxy /forecastrss thông qua sản phẩm API này. Chúng tôi nghiêm cấm việc cố gắng 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 Thời tiết mùa vụ hoặc trên bất kỳ proxy nào khác.

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

      Lưu ý rằng danh sách thả xuống Resource Path (Đường dẫn tài nguyên) hiển thị 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 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. 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 sẽ được thêm và proxy API thời tiết sẽ tự động được thêm vào mục Uỷ quyền API 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 trên 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 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 phải đăng ký nhà phát triển ứng dụng thì mới có thể đăng ký ứng dụng.

  1. Trong giao diện người dùng quản lý, hãy nhấp vào thẻ Phát hành, 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ý ứng dụng bằng 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 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ể truy cập vào các tính năng trong các 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 (+) Ứ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 (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 phần Sản phẩm, hãy nhấp vào + Sản phẩm.
    2. Chọn Free API Product (Sản phẩm API miễn phí).
    3. Hãy 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 Ứng dụng dành cho nhà phát triển.
  6. Chọn Thời tiết ứng dụng khoá API trong danh sách ứng dụng. Thao tác này sẽ mở ra 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 sản phẩm API, nên khoá API sẽ tự động được phê duyệt và bạn có thể xem khoá đó ngay lập tức. (Nếu đã chọn Phê duyệt Loại: 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 Sản phẩm, bên cạnh mục nhập Sản phẩm API miễn phí, hãy nhấp vào Hiển thị trong các cột Khoá của người tiêu dùngThông tin mật của người tiêu dùng để hiển thị các khoá đã tạo.

    Khoá người dùng là 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 . Cần có Bí mật người dùng (cùng với Khoá người dùng) để bảo mật API thông qua OAuth 2.0. Ví dụ: xem 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 chính sách VerifyAPIKey hoạt động đúng cách, bạn cần kiểm thử chính sách này bằng cách thực hiện lệnh gọi đến proxy API có khoá API hợp lệ. Bạn có thể yêu cầu proxy API trong trình duyệt, trên trang Theo dõi của proxy API, trên 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 khỏi yêu cầu hoặc chỉ định giá trị khoá không hợp lệ, bạn sẽ nhận được phản hồi lỗi có dạng:

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

Bước 5: Bước tiếp theo?

Giờ đây, khi bạn đã gửi yêu cầu tới API bằng cách sử dụng 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 chuyển sang phần Bảo mật API bằng cách yêu cầu khoá API.