Question

J'essaie d'implémenter un propre point de terminaison OpenID basé sur SMF comptes utilisateur.J'ai basé mon code sur phpMyOpenID et du code d'autorisation SMF.

Cela fonctionne bien jusqu'à présent.Je peux utiliser le point de terminaison pour me connecter/s'inscrire sur n'importe quel site.Si je ne suis pas connecté au SMF, il me demandera ma connexion et si cette connexion SMF réussit, il l'acceptera.

Cependant, il semble que cela ne diffère pas entre les différentes connexions SMF.C'est à dire.un autre utilisateur a signalé qu'il avait essayé d'utiliser le point de terminaison sur le site X, s'était connecté avec son compte SMF et avait atterri sur mon compte utilisateur sur le site X (j'ai enregistré le point de terminaison OpenID plus tôt sur ce site).

Je suppose que je dois envoyer d'une manière ou d'une autre la connexion SMF ou la rendre unique par connexion SMF.Comme ce que je dois faire est probablement trivial, j'ai pensé demander ici sur SO - peut-être qu'il y a aussi d'autres choses que je dois corriger.

Le code (juste PHP), si vous voulez y jeter un oeil, est ici :http://github.com/albertz/smf-openid-server

Ou peut-être simplement décrire ce que je dois faire pour le rendre unique pour chaque connexion SMF.

Un autre projet que je prévois est un client OpenID dans un jeu C++ multijoueur.L'hébergeur aura la possibilité d'autoriser uniquement les connexions de personnes pouvant s'authentifier via OpenID.Je souhaite également permettre à certaines personnes seulement de se connecter.Quelle est la manière courante d'obtenir une chaîne unique basée sur une connexion OpenID ?Dans ce cas, j'ai pensé à quelque chose comme http://{smf-openid-endpoint}/{smf-user} ou http://www.google.de/profiles/{google-user}.Quelle est la manière canonique d’obtenir une telle chaîne ?

Je pense que cette autre question peut être liée à ma question principale, c'est pourquoi je la pose également ici.


Voir aussi la question connexe : L'URL d'identification est-elle unique ?Quels sont les différents termes ?

Était-ce utile?

La solution

Il semble que la première demande de l'utilisateur final que je reçois soit checkid_setup.Sur cette réponse, je peux spécifier une URL unique (ce que j'appelle le chaîne unique dans ma question) dans le openid.identity champ.

Je l'ai fait dans mon code maintenant et cela semble fonctionner.C'est à dire.Je peux saisir l'URL générale du point de terminaison OpenID (par exemple sur SourceForge) et elle l'étendra automatiquement de la manière que j'ai suggérée dans ma question.

Pour répondre à ma deuxième question :Il semble que l'URL de l'identifiant vérifié elle-même soit unique, elle pourrait donc être utilisée.Cela peut parfois paraître énigmatique (par exemple dans le cas de Google, il s'agit simplement d'un hachage).Cela peut donc être utilisé en interne pour différer entre les différents utilisateurs.Pour la représentation graphique, je peux afficher le vrai nom d'utilisateur ou l'adresse mail que je devrais également obtenir grâce à l'authentification OpenID.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top