2010-01-21 4 views
3
OpenID

Quelqu'un peut-il me expliquer étapes en utilisant la bibliothèque Openid qui est mentionné ici. J'ai importé tout le paquet de janrain openid dans mon programme mais je ne comprends pas le flux de code.Python Library Utilisation

Le processus devrait essentiellement suivre ce plan:

Ajouter un champ de connexion OpenID quelque part sur votre site. Lorsqu'un OpenID est entré dans ce champ et le formulaire est soumis, il doit faire une demande à votre site qui comprend cette URL OpenID.

En premier lieu, l'application devrait instancier un consommateur avec une session pour l'état par utilisateur et magasin pour un état partagé. en utilisant le magasin de choix.

Ensuite, l'application doit appeler la méthode « commencer » sur l'instance des consommateurs. Cette méthode prend l'URL OpenID. La méthode begin renvoie un objet AuthRequest.

Ensuite, l'application doit appeler la méthode redirectURL sur l'objet AuthRequest. Le paramètre return_to est l'URL que le serveur OpenID renvoie à l'utilisateur après avoir tenté de vérifier son identité. Le paramètre realm est l'URL (ou modèle d'URL) qui identifie votre site Web à l'utilisateur lorsqu'il l'autorise. Envoyer une redirection vers l'URL résultante vers le navigateur de l'utilisateur.

C'est la première moitié du processus d'authentification. La deuxième moitié du processus est effectuée après que le fournisseur OpenID de l'utilisateur envoie une redirection au navigateur de l'utilisateur vers votre site pour terminer sa connexion. Dans ce cas, l'utilisateur contactera votre site à l'URL indiquée comme l'URL return_to de l'appel redirectURL effectué ci-dessus. La requête aura plusieurs paramètres de requête ajoutés à l'URL par le fournisseur OpenID comme informations nécessaires pour terminer la requête.

Obtient une instance de consommateur avec la même session et stocke comme précédemment et appelle sa méthode complète en transmettant tous les arguments de requête reçus.

Il existe plusieurs types de retour possibles possibles à partir de cette méthode. Ils indiquent si la connexion a réussi ou non et incluent toute information supplémentaire appropriée à leur type.

+6

Hmm, le flux est déjà bien décrit dans votre question :) Quelles sont les étapes qui prêtent à confusion? Quel framework web utilisez-vous? –

+1

J'utilise la librairie python_openid2.4 et je veux faire un plugin openid pour mon site web qui ne supporte que l'ID utilisateur et le mot de passe cette fois. Je veux juste utiliser cette bibliothèque et l'importer dans mon programme. Comment puis je faire ça. peux-tu expliquer plzzzzzz –

Répondre

0

web.py inclut un webopenid module qui implémente un système d'authentification OpenID complet, si basique, utilisant le Janrain. À l'aide de la classe host incluse, vous pouvez ajouter une authentification à support OpenID à votre projet. Pour réellement tirer des données intéressantes du fournisseur OpenID, cependant, vous devrez ajouter la gestion des requêtes/réponses AX et SReg.