Je construis une application Python qui doit communiquer avec un fournisseur de services OAuth. Le SP exige que je spécifie une URL de rappel. Spécifier localhost ne fonctionnera évidemment pas. Je ne parviens pas à configurer un serveur public. Des idées en plus de payer pour le serveur / hébergement? Est-ce seulement possible?
Réponses
Trop de publicités?Deux choses:
OAuth Fournisseur de Service en question est en train de violer le protocole OAuth spec si vous avez une erreur si vous ne spécifiez pas une URL de callback. callback_url est spec'd être un paramètre FACULTATIF.
Mais, pédantisme de côté, vous voulez probablement obtenir un rappel lorsque l'utilisateur est fait de sorte que vous savez que vous pouvez échanger le Jeton de Demande pour un Jeton d'Accès. Yahoo FireEagle développeur docs avez beaucoup de bonnes informations sur la façon de le faire.
Même dans le deuxième cas, l'URL de callback n'ont pas besoin d'être visible sur Internet à tous. OAuth Fournisseur de Services vous rediriger le navigateur de l'utilisateur pour fournir son nom d'utilisateur/mot de passe pour l'URL de callback.
Les deux façons de le faire sont:
- Créer un idiot de service web à partir de votre application qui écoute sur un port (par exemple, http://localhost:1234/) pour le rappel de fin, ou
- Enregistrer un gestionnaire de protocole (vous aurez à vérifier avec la documentation de votre système d'exploitation spécifiquement sur la façon de faire une telle chose, mais il permet des choses comme <a href="skype:555-1212"> pour le travail).
(Un exemple de flux que je crois que vous êtes décrivant la vie ici.)
Cela peut vous aider:
http://www.marcworrell.com/article-2990-en.html
C'est php donc ça devrait être assez simple à installer sur votre serveur dev.
J'ai déjà essayé celui-ci une fois:
C'est assez simple. Vous avez un lien pour télécharger le code en bas.
localtunnel [port] et le tour est joué
http://blogrium.wordpress.com/2010/05/11/making-a-local-web-server-public-with-localtunnel/