2009-06-01 10 views
17

La question Existe-t-il un moyen simple d'implémenter le système de connexion que stackoverflow utilise en utilisant php?Système de connexion comme stackoverflow, écrit en php

Pendant longtemps, j'ai développé des sites Web, et j'ai utilisé un nom d'utilisateur/mot de passe type avec un mysql db pour les systèmes de connexion. Je voudrais l'avoir pour que les utilisateurs puissent se connecter au système en utilisant google, yahoo, facebook, etc, et sans qu'ils aient à se rappeler une longue URL d'ouverture (ils devraient simplement cliquer sur google et être en mesure de se connecter en utilisant leur nom d'utilisateur/mot de passe ici).

Je préférerais ne pas utiliser un fournisseur de services (tel que RPX) pour implémenter cela.

Répondre

7

Si vous souhaitez l'implémenter vous-même, here est une excellente procédure pas à pas. Il y a aussi le PHP OpenID Library, mais c'est probablement beaucoup plus que ce dont vous avez besoin.

Here est le sélecteur OpenID côté client que SO utilise sur son écran de connexion. Edit: Stack Overflow n'utilise plus celui auquel je me suis connecté, mais il fonctionne toujours, autant que je sache.

3

Vérifiez les pages sur lesquelles ces boutons vous redirigent, puis redirigez-les vers ces pages. Ils sont tous des fournisseurs "openid" donc vous avez juste besoin d'une bibliothèque d'ID ouverte de votre côté pour vérifier la réponse.

J'utilise celui-ci en PHP http://openidenabled.com/php-openid/. Ils ont quelques bons exemples dans ce paquet pour vous aider à démarrer.

1

Si vous envisagez d'utiliser du code préexistant, le Zend Framework fournit le support OpenID. Bien que la bibliothèque elle-même soit assez grande, vous devriez être en mesure de faire des composants individuels de façon relativement autonome.