2010-09-09 26 views
2

Je suis en train de concevoir une nouvelle application web. Quelques points rapides sur elle:Authentification hybride OpenId/personnalisée - Bad UX?

  • ASP.NET MVC Web application
  • SQL Server 2008
  • Entity Framework ORM
  • 3 Rôles d'utilisateur: Anonymous, enregistré, Administrateurs.
  • Les utilisateurs anonymes peuvent voir des choses, les utilisateurs enregistrés peuvent poster des choses, les administrateurs peuvent faire n'importe quoi
  • Forte intégration sociale avec Facebook, Twitter et autres.
  • je prévois d'utiliser OpenId pour l'authentification (DotNetOpenAuth)

droite Alors, assez simple? (derniers mots célèbres)

Maintenant, ma question est:

dois-je fournir OpenId comme le seul moyen d'authentification, ou devrais-je aussi donner à l'utilisateur la possibilité de se connecter à l'aide de mon propre système d'authentification ?

Il s'agit donc fondamentalement d'une question «Expérience utilisateur». Prenons l'exemple de StackOverflow - vous devez vous inscrire avec OpenId. Cela me semblait bien, mais qu'en est-il du grand public? Puis-je être satisfait du fait qu'un utilisateur de mon site doit avoir un compte OpenId? (ou en créer un avant d'utiliser mon site)

Est-ce que l'utilisateur dispose de deux options pour se connecter à un mauvais UX? Je me rends compte que c'est une question partiellement subjective, mais je suis juste à la recherche de conseils sur la route à prendre, quelques études de cas seraient utiles.

Merci.

+0

Pouvez-vous fournir des exemples de questions «périmées»? Je ne pense pas que les protocoles ont beaucoup changé? – jfar

+0

@jfar - reformulé ma question. – RPM1984

Répondre

2

Toute bonne réponse à une question subjective commence par cela dépend. :-)

Je pense que si votre base d'utilisateurs potentiels est déjà assez impliquée dans le réseau social (comme vous pouvez le constater par votre description), il sera probablement très bien d'avoir l'authentification gérée par les fournisseurs OpenId. L'important est de fournir un processus de connexion facile à utiliser, et de rendre évident que divers fournisseurs sont disponibles pour l'authentification (Yahoo, Google, etc.).

Si votre base d'utilisateurs potentiels est constituée d'utilisateurs Internet nouveaux ou inexpérimentés, même une implémentation OpenId simple peut être trop confuse.

Pour ma part, je trouve ennuyeux d'avoir à créer encore un autre compte chaque fois que je visite un nouveau site, et je pense que de plus en plus d'utilisateurs ressentent la même chose.

Il y a un ensemble décent de réponses à une question similaire à https://ux.stackexchange.com/questions/78

+0

Exactement la réponse que je cherchais, merci (+1). Je fournirai également un bouton "Facebook Connect". Je vais m'en tenir à OpenId. Mais puis-je encore saisir des informations sur l'utilisateur? Mon entité "utilisateur" ne se soucie que de choses telles que le nom, le lieu, l'âge, etc. Quand ils "signent" avec OpenId - OpenId me donne-t-il cette information? Aussi - ne savait même pas sur ui.stackexchange.com - génial! =) – RPM1984

+0

Les informations que vous obtenez du fournisseur OpenId dépendent du fournisseur et de l'utilisateur. Vous pouvez le demander dans votre demande d'authentification, mais vous risquez de ne pas l'obtenir (l'utilisateur est informé de la demande d'informations et peut la refuser, même lors de l'authentification). –

+0

@Eric King - cool, tout comme Facebook Connect. (deny/allow info, perms) Merci mec! – RPM1984

0

La chose est que seul OpenID ne sera pas coupé en vous cas principalement à cause de Facebook et Twitter qui ne sont pas des fournisseurs OpenID. Les deux utilisent OAuth 2 pour l'authentification.Wikipedia le dit à ce sujet:

OAuth (Autorisation ouverte) est un standard ouvert pour l'autorisation. Il permet aux utilisateurs de partager leurs ressources privées (par exemple, des photos, des vidéos, des listes de contacts) stockées sur un site avec un autre site sans avoir à fournir leurs informations d'identification, généralement un nom d'utilisateur et un mot de passe.

et ceci:

OAuth est un service qui est complémentaire, mais distincte de OpenID.

Le DotNetOpenAuth soutient également OAuth et la dernière version CTP met en œuvre le OAuth 2 projet 10. Rappelez-vous que la OAuth 2 spécification est encore en cours d'élaboration et devrait être finalisée d'ici la fin de 2010. OAuth 2 également ISN n'est pas rétrocompatible avec OAuth 1.