2011-02-04 12 views
41

Estoy desarrollando una API en Ruby on Rails 3 y me gustaría asegurarla con Oauth2. En otras palabras, necesito crear un proveedor de Oauth. ¿Hay alguna gema que funcione para Rails 3 o tal vez un tutorial sobre el tema?Rails 3. Creación de un proveedor oauth2

ACTUALIZACIÓN

Sé rieles se basan RESTO así que parece muy extraño que no hay tutoriales sobre cómo crear una API pública y asegurarla. ¿Alguien sabe de algún buen tutorial? Preferible con oAuth.

Agradecido por toda ayuda !!

Respuesta

24

He opensourced un OAuth2 server implementation ayer.

Está bien documentado y hay un tablero para controlar los accesos. En este momento estoy buscando a alguien que quiera construir un motor a partir de él, o algo genial sobre el estante. Es por eso que es de código abierto.

+1

¡Está muy bien! Sigan con el buen trabajo. –

+0

Gracias, espero que la comunidad sea parte del proyecto para hacerlo cada vez mejor. –

+0

Muchas gracias por abrir la fuente. Aprendí mucho de eso. –

24

https://github.com/intridea/oauth2 es la joya canónica en este momento para OAuth2 dev. Si usted está buscando una solución más completa, en vez de rodar su propio código de proveedor, echa un vistazo a:

pero sugiero jugar un poco con la gema de oauth2 si usted no está No estoy muy familiarizado con el flujo para que pueda aprenderlo mejor.

+0

¡Gracias! ¿Hay alguna documentación en alguna parte para esto? https: // github.com/freerange/oauth2-provider –

+0

Esa versión está basada en mongoid btw :) Así que a menos que esté usando eso, sugeriría los demás. Solo me he equivocado al crear un proveedor desde cero personalmente. – raidfive

+0

Estoy usando SQL. ¿Conoces una buena guía para crear proveedores en Rails 3? –

2

¡Estoy buscando implementar un proveedor de OAuth2 también! Actualmente estoy experimentando con este https://github.com/assaf/rack-oauth2-server, que parece ser un servidor OAuth2 con todas las funciones, aunque todavía solo es compatible con MongoDB, aunque la implementación de soporte para otros DBMS parece bastante simple. ¡También estoy mirando algunas de las otras opciones publicadas aquí, muchas cosas prometedoras!

+0

Lo he usado para implementar una API segura de oauth2, funciona pero me tomó un par de días entenderlo. El autor fue extremadamente útil, aunque –

9

Si está utilizando (o planea usar) el dispositivo para la autenticación, puede usar https://github.com/socialcast/devise_oauth2_providable como complemento.

+0

Esto se ve muy bien. Lo intenté, pero no puedo entender cómo crear un cliente, por ejemplo. –

+0

Aquí hay un ejemplo de cliente (sinatra) y servidor (rieles) usando este complemento de diseño: https://github.com/aganov/devise-oauth2-provider-client – kiwnix

+0

De su actual [README.md] (https: // github.com/socialcast/devise_oauth2_providable/blob/master/README.md): "ESTE GEM NO SE MANTENDRÁ Y SE CONSIDERARÁ DEPRIMIDO". – gabe