Chủ đề về OAuth 2.0 nâng cao

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

Sử dụng mã thông báo OAuth của bên thứ ba

Xem bài viết Sử dụng mã thông báo OAuth của bên thứ ba.

Chỉ định nhiều URL gọi lại

Khi sử dụng loại cấp mã uỷ quyền, bạn phải chỉ định URL gọi lại khi đăng ký ứng dụng của nhà phát triển. URL gọi lại thường chỉ định URL của ứng dụng được chỉ định nhận mã uỷ quyền thay mặt cho ứng dụng khách. Ngoài ra, chuỗi URL này được dùng để xác thực. Khách hàng phải gửi URL này cho Apigee Edge khi yêu cầu mã uỷ quyền và mã truy cập, đồng thời tham số Redirect_uri phải khớp với tham số đã đăng ký. Xem thêm bài viết Yêu cầu mã truy cập và mã uỷ quyền.

Ví dụ:

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

Có một trường hợp sử dụng để chỉ định nhiều URL gọi lại trong một ứng dụng proxy. Ví dụ: bạn nên xác thực cho nhiều miền. Ví dụ:

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

Edge không hỗ trợ chỉ định nhiều URL gọi lại hoặc sử dụng ký tự đại diện khi một ứng dụng của nhà phát triển được đăng ký. Để thực hiện trường hợp sử dụng này, bạn có thể chỉ định một URL gọi lại trống khi đăng ký ứng dụng của nhà phát triển, sau đó đặt logic vào chính sách JavaScript để xác thực URI chuyển hướng đến.

Thay đổi hành vi trả về mặc định của tác vụ GenerateAuthCode

Theo mặc định, thao tác GenerateAuthCode của chính sách OAuthV2 sẽ trả về một lệnh chuyển hướng 302 đến URL gọi lại có tham số truy vấn ?code chứa mã uỷ quyền.

Trong một số trường hợp, bạn nên thay đổi hành vi này. Ví dụ: bạn có thể muốn trả về phản hồi 200 với JSON có cấu trúc chứa mã.

Để thực hiện trường hợp sử dụng này, hãy sử dụng chính sách ExtractVariable để truy xuất mã và chính sách composeMessage để trả về mã trong tải trọng JSON có trạng thái 200.

Kiểm tra sự đồng ý của người dùng cuối trong ứng dụng

Có thể bạn sẽ phải xác minh rằng một người dùng cuối của ứng dụng đã uỷ quyền cho một ứng dụng. Bạn có thể dùng API kiểm tra của Apigee Edge.

Mẫu OAuth đi

Xem mẫu outbound-oauth trong kho lưu trữ Apigee api-platform-samples trên GitHub. Bạn có thể sao chép, triển khai và chạy mẫu đó. Mẫu này sử dụng API trình biên dịch Microsoft Azure để dịch tweet. Để thực hiện việc này, trình phân tích cú pháp thực hiện lệnh gọi đi để lấy mã truy cập OAuth, sau đó lưu mã thông báo vào bộ nhớ đệm bằng chính sách lưu vào bộ nhớ đệm của Dịch vụ API, sử dụng lại mã thông báo đã lưu vào bộ nhớ đệm mỗi khi có cuộc gọi đi. Ngoài ra, mã này còn có một ứng dụng trình duyệt minh hoạ dùng để gọi proxy API.