2010-10-14 14 views
3

J'essaie de comprendre les cas d'utilisation pour lesquels la mise en œuvre d'oAuth en tant que fournisseur de services est la solution. Il semble que la mise en œuvre d'un service oAuth demande beaucoup de travail, donc je ne veux pas passer à travers le problème juste pour découvrir que j'aboyais le mauvais arbre. Des exemples de tels cas d'utilisation pour m'aider à comprendre quand utiliser ou non oAuth?Quand dois-je ajouter oAuth?

Cette question est liée à une autre question que j'ai posée, mais ils méritaient d'être des questions distinctes. Je fournir des détails sur mon cas précis d'utilisation ici:

Implementing access with oAuth or other

Répondre

7

OAuth est généralement utilisé lorsque vous voulez fournir un point d'authentification unique pour plusieurs services, ou si vous souhaitez intégrer une application avec un service d'authentification existant ; Par exemple, si vous souhaitiez que vos utilisateurs se connectent avec leurs informations de compte Twitter. D'après mon expérience, la seule fois où j'ai eu raison d'implémenter un service d'authentification OAuth était parce que nous avions 3 applications très différentes fonctionnant sur différentes plateformes (JBoss, LAMP, et ASP.NET) sur différents serveurs. Pour compenser les différentes bases de données et différentes technologies, nous avons opté pour une implémentation OAuth et une authentification centralisée en un point. Il a également fourni un excellent moyen de sécuriser les informations de l'utilisateur entre les serveurs; les données sont cryptées entre OAuth Server et le client, ce qui le rend plus difficile à mettre en péril.

Cela dépend vraiment de ce que vous essayez de faire. Si vous parlez d'une seule application, alors OAuth est définitivement trop tôt. Si vous parlez de quelques applications fonctionnant sur les mêmes technologies, vous pouvez ou non utiliser OAuth; vous pouvez simplement utiliser le magasin de données existant pour vous authentifier. Si vous cherchez à étendre votre système à plusieurs systèmes, ou si vous envisagez d'implémenter un service de type connexion unique, alors OAuth est définitivement une considération.

+0

+1 pour une réponse pratique. Mon cas d'utilisation est en fait ceci http://stackoverflow.com/questions/3932456/implementing-access-with-oauth-or-other Je vous serais reconnaissant si vous y jetiez un coup d'œil et si vous y ajouteriez des idées que vous pourriez avoir pour cela un – samquo

2

OAuth a quelques choses pour lui:

1) OAuth est une norme assez bien connue, ce qui signifie qu'il ya un peu d'informations disponibles à ce sujet, les bibliothèques de code dans une variété de langues et plates-formes, etc. Cela peut être le aspect le plus important si vous essayez d'obtenir l'adoption généralisée de votre site/Service (ala Twitter, FB, etc)

2) OAuth a été raisonnablement validé dans une perspective de sécurité de sorte que vous don Ne vous inquiétez pas (trop) si c'est conceptuellement sain. Votre implémentation est évidemment autre chose ...

3) Comme mentionné par d'autres, OAuth est bien adapté aux scénarios distribués/fédérés. Cela vous permet d'externaliser la responsabilité d'authentification (par exemple, Azure de Microsoft peut effectuer l'authentification OAuth en votre nom) et/ou partager des informations d'identification entre plusieurs services.

Espérons que cela aide!