2010-10-26 25 views
16

Tôi đang phải vật lộn tìm một viên ngọc có thể sử dụng mà cung cấp như sau cho một ứng dụng Rails 2.3.5:Gem cho OAuth2 Consumer VÀ chức năng cung cấp trong Rails 2.3.5

  • chúng tôi muốn bảo vệ ra API với OAuth 2 ; do đó một điều khiển để tạo Tokens truy cập/yêu cầu và các mô hình (Client, Token, ...) là bắt buộc
  • chúng ta muốn tiêu thụ OAuth2 Các dịch vụ như Facebook và Twitter

Nó cũng sẽ được tốt đẹp để có hỗ trợ cho xác thực 3 chân và 2 chân.

tôi tìm thấy những viên ngọc, nhưng tất cả họ đều có nhược điểm lớn:

  • oauth-ruby (github.com/oauth/oauth-ruby)
    • tôi không hoàn toàn chắc chắn nếu nó đã cụ cơ chế OAuth2
    • giống như một lib cơ bản cho các dịch vụ trên đỉnh

  • oauth-plugin (github.com/pelle/oauth-plugin)
    • trông thuận tiện NHƯNG OAuth2 chỉ được hỗ trợ trong ngành rails3 :(

  • OAuth2 (github.com/intridea/oauth2)
    • chỉ dành cho oAuth2 Người tiêu dùng/không có Nhà cung cấp Chức năng

  • OAuth2-ruby (github.com/aflatter/oauth2-ruby/tree/)
    • cuối cùng Commit: 16.07.10 "DESCTRUCTIVE COMMIT" :(
    • dựa trên Bản thảo oAuth2 00 (cũ!)

  • OAuth2-nhà cung cấp (github.com/ThoughtWorksStudios/oauth2_provider)
    • cuối cùng Commit: 21.10.10 - tốt
    • chỉ chức năng cung cấp :(
    • dựa trên OAuth2 Dự thảo 09 (khá gần đây)

Có ai đạt được những requirenments với một hoặc một sự kết hợp của những viên ngọc Could bạn vui lòng cung cấp cho tôi hướng dẫn?

Bất kỳ trợ giúp nào được đánh giá cao!

+0

Tôi đã nhận được phản hồi từ pelle, tác giả của plugin oauth, hôm nay. Tôi hỏi anh ta nếu hỗ trợ oauth2 cũng sẽ có sẵn trong nhánh master (không chỉ là nhánh rails3). Anh ấy nói "Nó sẽ hoạt động tốt trong Rails 2.3.x nhưng tôi muốn nghe phản hồi về nó. Tôi thực sự nên đổi tên nhánh." ! Tôi se thử no ! http://github.com/pelle/oauth-plugin/issues#issue/19 – Makibo

+0

Chúng tôi đã triển khai một nhánh tùy chỉnh của nhánh rails3 từ plugin oauth và nó hoạt động như một nét duyên dáng – Makibo

+0

tôi vẫn gặp sự cố về before_filter: login_or_oauth_required và callback oauthenticate, bạn quản lý nó như thế nào? – gozali

Trả lời

1

Tôi không thể giúp bạn tìm kiếm. Nhưng tôi sẽ chỉ nói rằng đó là một con số khá lớn triển khai cho một giao thức vẫn đang được phát triển rất tích cực :)

Xem gợi ý của tôi vào hiện trạng OAuth 2.0, như dự thảo 11, tại https://security.stackexchange.com/questions/1187/what-were-the-specific-security-flaws-with-oauth-1-0-how-are-they-being-addresse/1201#1201

(Bất kỳ ai có thể mô tả mức độ tương tác giữa các bản nháp khác nhau của 2.0?)

1

Tôi đã đánh giá hầu hết các đá quý được liệt kê trong chủ đề này và theo ý kiến ​​(thiên vị) của tôi, đá quý devise_oauth2_providable là phần phụ trợ nhà cung cấp oauth2 tốt nhất cho ứng dụng đường ray. mục tiêu của nó là tích hợp dễ dàng nhất cho các ứng dụng đường ray hiện có và tôi khuyên bạn nên xem xét nó.

https://github.com/socialcast/devise_oauth2_providable

Bạn có thể trộn và kết hợp một viên ngọc khác nhau cho OAuth2 người tiêu dùng vì chúng là trách nhiệm khác nhau, đủ.

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