Archived Forum Post

Index of archived forum posts

Question:

Gmail authentication fails after OAUTH2

Nov 25 '15 at 07:29

Here is my situation.

Initially gmail authentication through Chilkat failed and after analysing I found that I have to turn ON "allow less secure apps". Then the authentication succeeded.

To avoid turning ON "allow less secure apps" in every gmail account, I followed solution provided in below link.

http://www.example-code.com/objc/imap_gmail_oauth2.asp

Steps followed:

1) We created a certificate file(.p12).

Through the service account(in developer console) and we have the service account email address as well.

2) I am able to generate accesstoken successfully.

NSString *accessToken = [http G_SvcOauthAccessToken: iss scope: scope subEmail: sub numSec: [NSNumber numberWithInt: numSec] cert: cert];

3) Connecting to "imap.gmail.com mail" server succeeded.

success = [imap Connect: @"imap.gmail.com"];

4) But when I try to authenticate to gmail account using any gmail ID the authentication fails.

success = [imap Login: @"user@your-domain.com" password: accessToken];

Below is the error message I get in imap.LastErrorText.

ChilkatLog:

Connect_Imap:

DllDate: Sep 21 2015

ChilkatVersion: 9.5.0.52

UnlockPrefix: Hello World

Architecture: Little Endian; 64-bit

Language: IOS Objective-C

VerboseLogging: 0

connectInner:

  connectToImapServer:

    hostname: imap.gmail.com

    port: 993

    socketOptions:

      SO_SNDBUF: 262752

      SO_RCVBUF: 131072

      TCP_NODELAY: 4

      SO_KEEPALIVE: 8

    --socketOptions

    ConnectionType: SSL/TLS

  --connectToImapServer

--connectInner

Success.

--Connect_Imap

SendRawCommand:

Looks like an authenticate command...

getCompleteResponse:

  idleTimeoutMs: 60000

  tlsReadIncoming: Socket operation timeout.

  Failed to receive more TLS applicaton data.

  recvUntilMatch: Socket operation timeout.

  getImapResponseLine: Socket operation timeout.

  Failed to get next response line from IMAP server.

--getCompleteResponse

Looks like authentication was NOT successful..

Failed.

--SendRawCommand

--ChilkatLog