tutorial traduccion specification rails meaning ruby-on-rails rubygems oauth oauth-2.0 oauth-provider

ruby on rails - traduccion - Gema para oAuth2 Consumidor Y funcionalidad del proveedor en Rails 2.3.5



oauth 2.0 specification (3)

Tengo dificultades para encontrar una gema utilizable que ofrezca lo siguiente para una aplicación Rails 2.3.5:

  • queremos proteger la API con oAuth 2; por lo tanto, se requiere un controlador para crear tokens de acceso / solicitud y los modelos (cliente, token, ...)
  • Queremos consumir servicios oAuth2 como Facebook y Twitter.

También sería bueno tener soporte para la autenticación de 3 patas y 2 patas.

Encontré esas gemas, pero todas tienen grandes inconvenientes:

  • oauth-ruby (github.com/oauth/oauth-ruby)
    • No estoy muy seguro de si ya implementa mecanismos outh2
    • más como una biblioteca básica para servicios en la parte superior
  • oauth-plugin (github.com/pelle/oauth-plugin)
    • parece conveniente PERO auth2 solo es compatible con la rama rails3 :(
  • oauth2 (github.com/intridea/oauth2)
    • solo para consumidores de oAuth2 / sin funcionalidad del proveedor
  • oauth2-ruby (github.com/aflatter/oauth2-ruby/tree/)
    • último compromiso: 16.07.10 "COMITÉ DESCTRUCTIVO" :(
    • basado en oAuth2 Draft 00 (antiguo!)
  • outh2-provider (github.com/ThoughtWorksStudios/oauth2_provider)
    • ultimo compromiso: 21.10.10 - bueno
    • solo funcionalidad del Proveedor :(
    • basado en oAuth2 Draft 09 (bastante reciente)

¿Alguien logró esos requisitos con una o una combinación de esas gemas? ¿Podría por favor darme una dirección?

¡Cualquier ayuda es muy apreciada!


He evaluado la mayoría de las gemas que figuran en este hilo y, en mi opinión (sesgada), la gema devise_oauth2_providable es el mejor backend de un proveedor auth2 para una aplicación de Rails. Su objetivo es ser la integración más fácil para las aplicaciones de rieles existentes y recomiendo darle una mirada.

https://github.com/socialcast/devise_oauth2_providable

Puede mezclar y combinar una gema diferente para los consumidores de oauth2 ya que son responsabilidades suficientemente diferentes.