Purusottam
Purusottam

Reputation: 693

Account linking is failing for Google Actions after successful auth code and access token

I have Google Assistant App with Account Linking enabled. I am getting error while linking account to the App using "Authorization code" flow.

I tested the Authorization code account linking flow via the oauthplayground (https://developers.google.com/oauthplayground). I am getting the Auth code and later used that to generate the access_token and refresh_token properly.

However, when i do the actual account linking using the assistant auth handoff url (https://assistant.google.com/services/auth/handoffs/auth/start?account_name={accountname}&provider={projectid}&scopes=openid+email+profile&return_url=https://www.google.com), i am getting linking error.

User Flow:
After the OAuth flow is initiated, user goes through login and then provides their consent. After the consent step is done, user is redirected back to the original redirect_uri with auth code and state value.

Ex: https://oauth-redirect.googleusercontent.com/r/{projectid}?code={auth code}&state={state value}

This page redirects the user to oauth completion page and passes both the state and code values properly.
Ex: https://assistant.google.com/services/auth/handoffs/auth/complete?state={state value}&code={auth code}

User is redirected to the below URL at the end of the auth flow : https://www.google.com/?result_code=FAILURE&result_message=Account+linking+failed

My Auth service provider is returning a valid code and state properly. My Token service is returning valid token information in exchange for the auth code. Here is the response:

{
  "access_token": "<access token>", 
  "token_type": "Bearer", 
  "expires_in": 120, 
  "refresh_token": "<refresh token>"
}

Any help is greatly appreciated.

Upvotes: 2

Views: 1857

Answers (1)

Purusottam
Purusottam

Reputation: 693

I think, it was a caching issue. It's working properly now.

At the end of the flow, user is getting redirected to google.com with success result code.

i.e.: https://www.google.com/?result_code=SUCCESS&result_message=Accounts+now+linked

I had all the steps in place since last 2 days and i have not updated anything in terms of code or configuration. It was not working earlier. But, now it's working properly.

Upvotes: 1

Related Questions