0
votes

Connexion par courrier électronique Google avec OAuth renvoie des informations d'identification non valides pour CHIMLKAT.IMAP

essayer d'accéder à un compte de messagerie Google via IMAP avec OAUTH2 en utilisant le composant e-mail chilkat imap . Je reçois cela à partir de la réponse du serveur ...

ServerResponse: AAAB Non [AuthentificationFaillée] Critiques non valides (Échec)

Nous utilisons vb.net, et je suis l'exemple à https: / /www.example-code.com/cshaarp/gmailail_imap_login_oauth2.asp . Connexion à imap.gmail.com à l'aide de SSL et du port 993. Je définit le imap.authmethod = "xoautheth2" et en utilisant le mot de passe à la place du mot de passe. Le imap.login (loginName, authToken) est l'endroit où le message d'erreur vient de.

J'ai activé IMAP avec le compte Gmail et j'ai activé les applications moins sécurisées. J'ai confirmé que le bon jeton d'authentifie est configuré pour le mot de passe et j'ai vérifié que la portée de l'API est correctement définie sur HTTPS: / /mail.google.com/ . Si j'essaie juste un nom de connexion et un mot de passe droit, le login est réussi.

Vous ne savez pas quoi vérifier d'autre pour déterminer ce qui est en train de causer les informations d'identification non valides .


2 commentaires

Salut là @kencleary! Je n'ai pas pu reproduire votre problème. Je peux voir que vous utilisez la bibliothèque de Chilkat tiers au lieu de l'officiel Google Gmail API . Pour éviter toute mauvaise configuration du côté de Chilkat, pourriez-vous essayer de vous connecter à l'API Gmail sans cela? Vous pouvez utiliser .NET QuickStart comme référence.


Merci Jacques. J'ai pu l'obtenir pour connecter et lire les dossiers après le lien .NET QuickStart. Je peux revenir à Chilkat et voir ce qu'ils disent.


3 Réponses :


0
votes

J'ai écrit ce blog post pour parcourir tout le processus: https: // cknotes.com/gmail-imap-oauth2-a-walkthrough/

  1. à https://console.developers.google.com/apis/Credentials, créez des informations d'identification (identifiant client, secret client) et définissez également une URL de redirection
  2. code pour obtenir le jeton initial OAuth2 de votre application.
  3. Code à l'authentification dans le protocole IMAP à l'aide de OAUTH2.
  4. code pour rafraîchir le jeton

    J'ai également téléchargé des vidéos YouTube démontrant 1 et 2.


1 commentaires

Nous obtenons le jeton et vous rafraîchissez. Le problème est d'essayer de se connecter à la composante électronique de Chilkat IMAP avec ce jeton. Nous utilisons le composant Chilkat pour vous connecter via IMAP avec simplement la connexion et le mot de passe standard. Le seul changement que nous faisons est que si nous utilisons le jeton, nous définissons l'AuthMethod change le mot de passe sur le jeton. Basé sur les docs Chilkat, je pensais que c'était la seule modification de la connexion avec le jeton Auth, n'est-ce pas?



1
votes

a compris le problème. Pour le jeton, je l'ai défini à "porteur ya29.a0afh6smdf .....", ce que nous avons défini pour la composante Nsoftware que nous utilisons pour la synchronisation du calendrier. J'ai enlevé la partie "Porteur" du jeton et j'ai pu se connecter bien à l'aide du composant de messagerie de Chilkat IMAP ".


0 commentaires

0
votes

La cause de ce problème a été trouvée.

Dans l'appel à la connexion, l'application passait "porteuse" au lieu de "" pour le mot de passe:

correct: SUCCESS = imap.login ("user@gmail.com", "");

incorrect: SUCCESS = imap.login ("utilisateur@gmail.com", "porteur");

Le jeton d'accès est considéré comme le mot de passe. Chilkat ajoute la chaîne "support" requise en interne lorsqu'elle compose les données XOAUTH2 envoyées au serveur IMAP.


0 commentaires