2009-06-18 6 views
7

Quelqu'un a-t-il des recommandations sur le passage d'une authentification basée uniquement sur une base de données personnalisée à Open ID? Comme les pièges et les pièges. Je voudrais vraiment fournir à la fois pour ceux qui n'aiment pas/pas dans OpenID. Ceci est une application ASP.Net MVC pour l'enregistrement.Passer de l'authentification personnalisée à l'ID ouvert

Répondre

6

Vous pouvez utiliser OpenID très facilement en réalité. Tant que vous déconnectez les données Compte/Profil du mécanisme de connexion réel, vous devriez techniquement pouvoir utiliser l'un ou l'autre de façon transparente. Vous pouvez ensuite conserver une table Logins pouvant contenir le nom d'utilisateur et le mot de passe (crypté) pour les utilisateurs qui ne souhaitent pas utiliser le schéma OpenID. Conservez ensuite vos informations de connexion (lors de la dernière connexion de l'utilisateur, etc.) à l'aide de la table Comptes afin que les utilisateurs puissent utiliser votre système Logins local ou les différents fournisseurs de connexion API de style Open ID. Ensuite, vous pouvez créer plusieurs classes pour gérer les détails de plomberie de connexion via votre système local, vous connecter via Gmail, vous connecter via Open ID, etc. Ensuite, toutes ces classes sont conformes à la même interface. Ensuite, créez une fabrique qui gère les détails de la détermination de la classe à utiliser pour se connecter à un compte spécifique en gardant un œil sur la méthode qu'ils préfèrent au niveau des comptes.

+0

J'aime avoir une table utilisateur et une table d'informations d'identification, où les utilisateurs peuvent avoir plusieurs lettres de créance. De cette façon, potentiellement, les utilisateurs peuvent avoir plusieurs OpenID, une InfoCard, etc. Aussi, lisez sur http://wiki.openid.net/Relying-Party-Best-Practices pour plus d'idées. –

3

Je vous recommande de ne pas arrêter de prendre en charge votre méthode d'authentification actuelle et de lier les comptes OpenID avec votre table utilisateur actuelle.

Je l'ai fait récemment sur mon site et cela fonctionne parfaitement.

This is a great overview of the process from Plaxo.

+0

Bryan Je suis également intéressé par l'ajout du support openid à mon système de connexion actuel ... J'ai vu votre site web staga.net (le site gr8 tout d'abord et j'aime vraiment votre intégration open id) pouvez-vous m'aider avec l'implémentation en php ... J'ai lu la vue d'ensemble de base et les instructions à plaxo et j'ai aussi un PHP Openid classe simple ... Le seul problème que j'ai est que je ne comprends pas ce que je suis supposé faire dans la classe comment je suppose passer l'openid_url et obtenir la réponse du fournisseur de service ... L'aide serait très appréciée ... Merci – halocursed

+0

J'ai implémenté avec succès quelque chose de très similaire à SO en utilisant http://stevelove.org/projects/dope-openid/ mais J'aime vraiment votre approche en utilisant des boutons pour chaque fournisseur openid et en plus vous l'avez aussi pour facebook ... Comment avez-vous ajouter le support facebook? Pouvez-vous m'aider à ce sujet aussi ... Merci – halocursed