2014-04-11 17 views
7

Tôi đã phát triển API REST với sailsj và tôi muốn thêm ủy quyền OAuth2 để bảo mật API này. Tôi khá mới với OAuth và tôi không chắc bắt đầu từ đâu.Đảm bảo API nodejs/sailsjs với OAuth2

Tôi đã tìm thấy một số mô-đun có thể được sử dụng cho mục đích này, ví dụ oauth2orize và ví dụ về cách sử dụng https://github.com/aaron524/sails-oauth2-provider-example nhưng tôi không hiểu đầy đủ cách thức hoạt động trong nội bộ. Về cơ bản, tôi sẽ có một số khách hàng tiêu thụ API mà tôi đang phát triển: - khách hàng mà tôi tin tưởng và tôi muốn sử dụng với "Ủy quyền cho chủ sở hữu tài nguyên" - những khách hàng mà tôi không tin tưởng và điều đó sẽ kết nối bằng cách sử dụng dòng Mã ủy quyền

Tôi đã nghĩ đến việc thêm thuộc tính đáng tin cậy vào mô hình Khách hàng trong ứng dụng buồm và sau đó khi người dùng đăng nhập vào ứng dụng: - anh ta sẽ có quyền truy cập trực tiếp vào tài nguyên (trường hợp đơn đăng ký đáng tin cậy) - anh ta sẽ được yêu cầu phê duyệt hoặc từ chối đơn đăng ký truy cập vào tài nguyên của mình (trường hợp đơn đăng ký không đáng tin cậy)

Đây có phải là cách tiếp cận tốt không? Bất kỳ con trỏ nào về cách chọn chiến lược tương ứng dựa trên mức độ tin cậy của khách hàng?

CẬP NHẬT

tôi đã thiết lập các dự án sau đây trên GitHub, sử dụng một số hướng dẫn và các dự án tôi được tìm thấy.

https://github.com/lucj/sails-oauth2-api 

Dự án này chưa hoạt động.

Tôi vẫn chưa rõ cách chọn loại cấp quyền chính xác (mã ủy quyền so với mật khẩu của chủ sở hữu tài nguyên) khi người dùng sử dụng API thông qua một ứng dụng. Làm thế nào để tích hợp kiểm tra này trong các chính sách?

Tôi không quản lý để tạo liên kết giữa điểm cuối OAuth (/ oauth/ủy quyền,/oauth/mã thông báo) và lệnh gọi đến oauth2orize. Bất kỳ ý tưởng ?

Trả lời

10

cuối cùng tôi đã phải vật lộn với Oauth2orize, cánh buồm và hộ chiếu và quản lý để tích hợp OAuth2 an ninh của API của tôi trong dự án: https://github.com/lucj/sails-oauth2-api

+0

Bạn có một hướng dẫn hoàn chỉnh cho người mới bắt đầu? – Pbrain19

+0

Tôi vẫn còn khá mới bắt đầu trong lĩnh vực này. Tôi đã không có kế hoạch để viết một hướng dẫn nhưng tôi hy vọng README cung cấp thông tin từ mặt đất lên. Tôi muốn một sails/oauth guru để xem xét dự án đầu tiên :) – Luc

Các vấn đề liên quan