J'ai codé contre un Delphi EXE (application de bureau win32) pour accéder à Twitter et faire certaines fonctions. Il utilisait l'authentification de base avec la limitation de l'API. Je sais que je dois convertir cela en OAuth. J'ai lu la documentation essayant de déterminer la meilleure approche. Je comprends que la meilleure méthode est le navigateur Web avec une URL de rappel. Je sais aussi que Twitter inclut une méthode d'authentification basée sur Pin (oob). Je pensais que c'était la voie à suivre avec cette application, mais je veux m'assurer que ce n'est pas transparent. Cela nécessite que l'utilisateur se rende à l'extérieur de l'application et obtienne un numéro d'identification. Il n'est pas aussi sécurisé car le jeton d'accès renvoyé n'expire jamais. J'utilise des composants Indy v10 pour faire les opérations GET/POST, donc je me demande s'il y a un moyen de le faire en les utilisant et en étant capable de faire un rappel et de ne pas utiliser la méthode d'authentification Pin.Twitter OAUTH et une application de bureau Win32 EXE
Quelqu'un peut-il m'aider?
J'ai aussi essayé de faire travailler la classe Twitter de Chuck Beasley en Delphi 7 avec Indy v10 et j'ai eu des problèmes. IdObjs et Idsys n'existent plus. Est-ce que quelqu'un a eu cette classe pour travailler avec mon scénario? Merci, David
Vous n'avez pas besoin d'exécuter votre propre site Web pour utiliser l'URL de rappel d'OAuth. Tout ce que cela fait est de dire à OAuth quelle URL rediriger l'agent/le navigateur vers quand l'authentification se termine. TIdHTTP a un événement OnRedirect qui peut être utilisé pour intercepter cette redirection. OU, définissez simplement la propriété HandleRedirects sur False et gérez les URL de redirection manuellement. Dans le code original de Chuck, il utilise un composant TEmbeddedWB pour gérer la partie UI de l'authentification (entrer les informations d'identification et accorder l'autorisation), puis intercepter la redirection de rappel pour que le reste du code puisse utiliser les jetons auth. –
@Remy: Je pense que tu as raison. Je pensais en termes d'OpenID, où la découverte de domaine de partie de confiance exigeant un site Web. Mais OAuth fonctionne différemment, en fonction de la paire clé secrète/clé publique de l'application et ne nécessite pas que Twitter «appelle» votre domaine. –
Il existe déjà un ticket de fonctionnalité ouvert dans les suivis de problèmes d'Indy pour l'ajout d'un support OAuth natif à une future version. –