web-dev-qa-db-fra.com

Rails 3. Construire un fournisseur oauth2

Je développe une API en Ruby on Rails 3 et je voudrais la sécuriser avec Oauth2. En d'autres termes, je dois créer un Oauth provider. Existe-t-il un joyau fonctionnel pour Rails 3 là-bas ou peut-être un tutoriel sur la question?)

MISE À JOUR

Je sais Rails sont REST basé donc je trouve très étrange qu'il n'y ait pas de tutoriels sur la façon de créer une API publique et de la sécuriser. Quelqu'un sait-il tous les bons tutoriels. De préférence avec oAuth.

Merci pour toute aide !!

41
Jonathan Clark

J'ai ouvert une implémentation du serveur OAuth2 hier.

C'est bien documenté et il y a un tableau de bord pour contrôler les accès. En ce moment, je recherche quelqu'un qui veut construire un moteur à partir de celui-ci, ou quelque chose de cool sur le dessus du rack. C'est pourquoi il est open-source.

24
Andrea Reginato

Découvrez ce joyau https://github.com/applicake/doorkeeper

C'est pour Rails 3, le développement en est à ses débuts cependant.

Il existe également un exemple d'application que vous jetez un œil et voyez comment l'API est effectuée.

http://doorkeeper-provider.herokuapp.com/

31
Felipe Philipp

https://github.com/intridea/oauth2 est le joyau canonique en ce moment pour le développeur OAuth2. Si vous recherchez une solution plus complète, au lieu de lancer votre propre code fournisseur, consultez:

Mais je suggère de jouer avec la gemme oauth2 si vous n'êtes pas très familier avec le flux afin de mieux l'apprendre.

24
raidfive

Si vous utilisez (ou prévoyez d'utiliser) un dispositif d'authentification, vous pouvez utiliser https://github.com/socialcast/devise_oauth2_providable comme plugin.

9
kiwnix

Je développe un rugygem pour le fournisseur OAuth2, Rack :: OAuth2. https://github.com/nov/rack-oauth2

Il nécessite de développer vous-même des modèles (jeton, code, client, etc.), mais vous pouvez obtenir ici un exemple de serveur OAuth2 complet Rails3. https://github.com/nov/rack-oauth2-sample

5
nov matake

Je cherche également à implémenter un fournisseur OAuth2! J'expérimente actuellement avec ceci https://github.com/assaf/rack-oauth2-server , qui semble être un serveur OAuth2 complet, bien qu'il ne prenne toujours en charge que MongoDB, bien qu'il implémente la prise en charge d'autres SGBD semble assez simple. Je regarde également certaines des autres options affichées ici, beaucoup de choses prometteuses!

2
paulomuggler

"Doorkeeper est un joyau qui facilite l'introduction de la fonctionnalité de fournisseur OAuth 2) dans votre application."

https://github.com/applicake/doorkeeper

2
d0minikk