J'utilise actuellement Oauth pour permettre à un utilisateur de se connecter via Foursquare, je crée alors une nouvelle session pour cet utilisateur. Si l'utilisateur est nouveau dans le système, il lui est demandé de se connecter via Hunch, ce qui permet de générer un profil utilisateur basé sur les informations des deux systèmes. Je les ai connectés à chaque application séparément, mais comment puis-je associer l'utilisateur connecté avec Foursquare à celui de Hunch. Mon idée était de créer une référence à l'ID de session dans le modèle utilisateur ou d'utiliser l'ID de session comme paramètre pour la connexion de l'intuition, mais je ne suis pas sûr que ce soit la meilleure idée. Y a-t-il un autre moyen de créer l'association?Méthodes de connexion Python
Répondre
La meilleure façon de le faire serait quelque chose comme ce qui suit:
- Envoyer la utilisateur à foursquare pour se connecter
- Lorsque l'utilisateur revient, créez un enregistrement dans le magasin de données pour lui.
- Envoyez l'utilisateur à Hunch pour vous connecter, mais incluez l'ID de l'enregistrement que vous avez créé à l'étape 2 dans l'URL continue.
- Lorsque l'utilisateur revient, utilisez l'ID incorporé dans l'URL pour ajouter les informations de l'utilisateur de Hunch à son enregistrement utilisateur.
Vous pouvez créer une association parente de sorte que SiteUser
soit le parent de FoursquareAuth
et HunchAuth
.
Lorsque l'utilisateur se connecte d'abord avec Foursquare vous créez le modèle SiteUser
puis créer le modèle FoursquareAuth
avec parent=just_created_user
. Ensuite, lorsque vous envoyez l'utilisateur à l'authentification via l'intuition, vous incluez l'ID de l'utilisateur ou un ID de session dans le paramètre de rappel. Lorsque le rappel se produit, vous obtenez la clé de l'utilisateur et créer HunchAuth
avec parent=previously_created_user
.
Le modèle SiteUser
contient les informations combinées des deux sources (nom, emplacement, dernier enregistrement, etc.). Les modèles *Auth
ne contiennent que les identifiants uniques garantis fournis par chaque fournisseur (user_id, access_token, etc.). Ainsi, si vous avez l'objet utilisateur, vous pouvez trouver les données d'authentification Foursquare ou Hunch (en utilisant un filtre ancêtre), et vous pouvez trouver un utilisateur en chargeant un modèle *Auth
et en récupérant son parent()
.
(note: j'appelle le modèle SiteUser
à ne pas confondre avec l'objet User
disponible dans App Engine)
- 1. Méthodes de définition Python
- 2. Méthodes de profilage Python
- 3. méthodes de classe Python
- 4. méthodes de noyau en Python
- 5. régénération des méthodes de point de connexion
- 6. méthodes __future__ Python
- 7. Méthodes abstraites en Python
- 8. décorateurs et méthodes python
- 9. Méthodes Accessor & Mutator (Python)
- 10. script de connexion Python
- 11. Script de connexion Python
- 12. Méthodes de connexion SQL et meilleures pratiques
- 13. Méthodes de connexion personnalisée en C++
- 14. méthodes python tests qui font appel des méthodes de classe
- 15. Méthodes spéciales (magiques) en Python
- 16. méthodes personnalisées en python urllib2
- 17. méthodes set prépondérants en Python
- 18. Invoquer différentes méthodes en python
- 19. classes et méthodes en python
- 20. python problème de connexion MySQL
- 21. base de données Python connexion
- 22. Python DB Erreur de connexion
- 23. Surcharge des méthodes de classe Python
- 24. Méthodes manquantes dans l'héritage de classe Python?
- 25. Décapage de méthodes personnalisées en utilisant python
- 26. Python - Connexion à JDBC
- 27. Connexion d'accès depuis Python
- 28. Python MySQL connexion pooling
- 29. Python Hotmail connexion
- 30. Python socket connexion timeout
J'ai essayé d'ajouter l'ID dans l'URL continuer mais il cause à l'échec par exemple rediriger vers mon Hunch est 'http://hunch.com/authorize/v1/?app_id=111&next=http:// localhost: 8086 /? access_token = {{access_token}}/'L'URL renvoyée est' http: // localhost: 8086 /? access_token = aaa? auth_token_key = aaa & user_id = aa & next = http% 3A% 2F% 2Flocalhost% 3A8086% 2F% 3Faccess_token% qq% 2F' mais lors de l'analyse, il ne trouve pas la clé auth_token_key – qwop
@qwop Il semble que hunch ne code pas les URL correctement. Avez-vous essayé de le transmettre d'une autre manière - comme dans le cadre de l'URL? Par exemple, http://foo.com/auth/user_id? –