Je suis en train de mettre en place un site. À l'heure actuelle, il inclura un MediaWiki (le type qui alimente Wikipedia). À l'avenir, il pourra contenir un blog (Wordpress?) Et des forums ( Vanilla Forums 2 ?).
Je souhaite que le site soit visible par le grand public, mais modifiable par quiconque se connectant avec un OpenID. J'aimerais une page de connexion semblable à celle utilisée sur les sites d'échange de pile, où l'utilisateur est présenté avec une série de boutons familiers permettant de choisir un fournisseur d'identité.
Jeff Atwood a Open-sourced le composant de connexion pour Stack Overflow , ce qui est génial, mais je ne peux pas l'utiliser car mon hébergement partagé est sur une pile LAMP, où 'P' inclut Python (2.4.3), Perl (5.8.8), PHP (5.2.4) et Ruby (1.8.7). Le M est MySQL (5.1.50).
J'ai essayé un certain nombre de choses avec un succès limité.
1) MediaWiki avec l'extension de connexion OpenID . Quand j'installe manuellement php-openid library , et lance le test, il se plaint du manque de support GMP, fait quelque chose d'étrange avec l'extraction HTTP et d'un manque de mod_encoding. J'ai contacté le support et ils m'ont dit qu'ils n'installeraient pas mod_encoding, et que GMP est déjà installé.
2) MediaWiki avec MultiAuthPlugin contre simpleSAMLphp . Je pense que je travaille en partie avec simpleSAMLphp, mais ce que je dois faire pour en faire un consommateur OpenID n’est pas clair - c’est ma tête.
Ensuite, j'ai décidé que si je pouvais m'authentifier auprès de WordPress, je pourrais utiliser une extension MediaWiki pour utiliser ces informations afin de connecter des personnes.
3) plugin WordPress OpenID . Tout semblait installer correctement ce qui était nécessaire pour la consommation OpenID, même si cela ne semblait pas fonctionner. Je soupçonne qu'il utilise la librairie php-openid. Je ne suis pas sûr de savoir comment le déboguer. Plus précisément, il propose simplement une zone de texte OpenID, qui n'est pas conviviale pour les personnes qui n'ont aucune idée de ce que c'est - j'aimerais des boutons!
4) Google Friend Connect pour WordPress . C'est la première fois que j'ai entendu parler de friend connect. Il n'était pas clair que l'un d'entre eux était autorisé à faire plus que des commentaires, et l'intention est de créer une sorte de superposition de "médias sociaux" sur votre site - et non de ce que j'avais en tête.
5) Gigya Socialize for WordPress. Enfin, une connexion Nice utilisant des boutons et OpenID. (Rappelez-vous, lorsque j'ai essayé de me connecter en l'utilisant, il m'a dit: "L'accès des nouveaux utilisateurs est actuellement désactivé pour ce site.")
Je n'ai pas terminé la configuration JanRain Engage for WordPress , mais je pense que ce sera sensiblement la même chose que Gigya.
Comment puis-je avoir une connexion unique et unifiée pour un groupe de sites connexes sur le même domaine, en utilisant OpenID et des boutons conviviaux Google, Yahoo, Twitter, etc., qui authentifient directement à partir de mon domaine (c'est-à-dire sans prétendre être d'un tiers)? À part cela, comment puis-je amener les utilisateurs à se connecter à MediaWiki en utilisant OpenID (sans changer d'hôte Web)? Edit: Existe-t-il des wikis pour lesquels vous recommanderiez déjà une fonctionnalité de connexion Nice OpenID?
Je suis heureux de fournir plus de détails sur mes aventures jusqu'à présent. Je suis également programmeur, même si je ne suis pas un programmeur Web, je connais assez bien python et je connais assez Perl, PHP et Ruby pour pouvoir bidouiller une solution proche pour le faire fonctionner.
Je trouve l’idée d’implémenter une extension OpenID conviviale pour l’hébergement qui convient à MediaWiki est intéressante, cependant, il existe certaines exigences pour les bibliothèques JanRain et PEAR OpenID 0.2.1 qui, comme vous l’avez vu, vont probablement pas être adopté par les fournisseurs d'hébergement partagé dans un proche avenir.
On dirait que vous êtes ouvert aux solutions autres que OpenID et, si cela ne vous dérange pas de chercher dans le code d’authentification situé derrière les applications que vous utilisez, vous pourriez envisager un système de connexion unique simple, comme celui proposé here - certainement pas la solution idéale , (le reverse engineering de remplacements d'authentification existants peut réduire le temps d'implémentation, mais cela prend encore un certain temps) mais ça bat à partir de zéro.