Melvin-Abraham / Google-Assistant-Unofficial-Desktop-Client

A cross-platform unofficial Google Assistant Client for Desktop (powered by Google Assistant SDK)
Apache License 2.0
3.6k stars 403 forks source link

Authentication Failure #671

Closed DanTheTechMan closed 1 year ago

DanTheTechMan commented 2 years ago

Hello,

I followed the instructions in the Setup Wiki and I don't believe I missed anything, however I keep getting an Authentication Failure error. Here's a screenshot of the error: image I've already tried moving the OAuth 2.0 JSON credentials file to various different locations on my PC (I'm using a Windows PC), however I keep getting this error. Is this a bug or am I doing something wrong or missing something? Please advise. Thanks.

WisdomCritFail commented 2 years ago

im getting the same error :(

kszkristof commented 2 years ago

same, on a win11 fresh install. i guess its good to know that its not only happening to me ¯_(ツ)_/¯

ZeKap commented 2 years ago

Same here on Linux (Ubuntu 20.04)

NicoAnth commented 2 years ago

Same here on windows 10

gabrielPaim98 commented 2 years ago

Same error hero. Looking at the dev tools there seems to be no "redirect_uri" on given client_secret.apps.googleusercontent.com.json. I was able to fix it by going to Cloud Console, credentials, and using "Web client (auto created by Google Service" under OAuth 2.0 client IDs. Just download the .json file and change the "Key file Path" on the app to this new one. Let me know if there might be any security issues with this 😀.

jamie-crawford commented 2 years ago

I had this error yesterday. Today I tried again and still received the error. On a lark, I redownloaded my key and it worked. The two key files are quite different in content. Not sure what changed, but it might be worth redownloading your key if you are still experiencing this.

im-coder-lg commented 2 years ago

Hmm @Melvin-Abraham documentation of this issue?

Enryhen commented 2 years ago

I have also experienced this same exact issue on windows 11, hope it could be fixed soon.

im-coder-lg commented 2 years ago

Download the JSON file again with the steps above. /ping @Melvin-Abraham !!!

Melvin-Abraham commented 2 years ago

Thank you folks for pointing this out and figuring out a solution 😊. I'll add this soon in the FAQ

dwnsideup commented 2 years ago

Same image

sumeshir26 commented 2 years ago

@dwnsideup Try redownlowding your key file

zNoobs commented 2 years ago

Same problem,

But after selecting the Google account and clicking on "Continue", I get a blank page with this error: Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared. I tried with another Google account, same error. I tried with another web browser, same error.

EDIT: Now the JSON from cloud console works (I didn't change any settings, I just redownloaded it), and I get the code (Setting authentication in the app step 10) but I get this error on the software:

Failed to get Tokens
Assistant failed to fetch the tokens from server. Either the auth code is invalid or the rate limit might have exceeded.
Try selecting a different Google Account.
Error: Error getting tokens

I tried with another Google account, same error. Uing the JSON from Web client ID still shows "Unable to process request due to missing initial state. [...]" error.

kszkristof commented 2 years ago

Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared.

I got the same error when using Web client (auto created by Google Service) that was suggested by gabrielPaim98. I "fixed" it by deleting the existing client IDs and recreating a new one, waiting a day and then downloading the new JSON and it works now.

I don't know if the waiting affected the results or not but when I downloaded the JSON file directly after creating the client credentials, it didn't work..? I think that this is a problem on Google's end (it says that it has created the credentials but it haven't yet or something like that)

zNoobs commented 2 years ago

Still same error today, even with new JSON created:

Failed to get Tokens
Assistant failed to fetch the tokens from server. Either the auth code is invalid or the rate limit might have exceeded.
Try selecting a different Google Account.
Error: Error getting tokens
vettloffah commented 2 years ago

Tried with multiple keyfiles, including all recommendations above. Getting Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared. error each time.

Ahmed00010 commented 2 years ago

Same error hero. Looking at the dev tools there seems to be no "redirect_uri" on given client_secret.apps.googleusercontent.com.json. I was able to fix it by going to Cloud Console, credentials, and using "Web client (auto created by Google Service" under OAuth 2.0 client IDs. Just download the .json file and change the "Key file Path" on the app to this new one. Let me know if there might be any security issues with this grinning.

thanks

Hiddespenkelink commented 2 years ago

Also getting errors.

  • Using the Web Client ID the page doesn't load and this appears: This site can’t be reached localhost refused to connect.
  • Using the same client ID is the same for everyone Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared.

Same issue here

afrizalyogi commented 2 years ago

Also getting errors.

  • Using the Web Client ID the page doesn't load and this appears: This site can’t be reached localhost refused to connect.
  • Using the same client ID is the same for everyone Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared.

Hi guys, I found something that maybe can solve this Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared. problem.

So, I was copy this code and paste it into the app. This worked for me but I don't know if it will work perfectly or not.

SivaMarti commented 2 years ago

Also getting errors.

  • Using the Web Client ID the page doesn't load and this appears: This site can’t be reached localhost refused to connect.
  • Using the same client ID is the same for everyone Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared.

Hi guys, I found something that maybe can solve this Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared. problem.

So, I was copy this code and paste it into the app. This worked for me but I don't know if it will work perfectly or not.

I would just like to verify that this solution by @afrizalyogi worked for me 100%.

I was having the exact same issue, "Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared."

The token code seems to appear in the url box. By copying the numbers starting after, "code=" and before "&scope", then pasting them in the Unofficial Google Assistant set up where it asks for the code, resulted in a successful authentication.

Also had to follow previous suggestions by others in this thread,

ie. deleting previous created Client IDs under OAuth 2.0 client IDs, creating a new Client ID for OAuth 2.0, publishing the project under OAuth consent screen to where it switches to "In production", deleting the previously downloaded OAuth client .json file and tokens.json file, redownloading the OAuth client .json file, completely exiting Unofficial Google Assistant from the tray, opening the Unofficial Google Assistant, deleting the previous input "Key File Path " and "Saved Tokens Path", setting the ""Key File Path" again with the newly downloaded OAuth client .json file.

(([One other thing that I did, personally, that wasn't mentioned in the instructions when starting out was to create a folder called "Google Assistant" in the C Drive so that all files were nested in that folder; so that it was structured ie. C:\Google Assistant\Google Assistant\ C:\Google Assistant*****.json C:\Google Assistant\tokens.json

Whether this helped are not, I don't know.]))

I hope this can help others get this project working until an update can be made.

ghost commented 2 years ago

Also getting errors.

  • Using the Web Client ID the page doesn't load and this appears: This site can’t be reached localhost refused to connect.
  • Using the same client ID is the same for everyone Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared.

Hi guys, I found something that maybe can solve this Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared. problem.

So, I was copy this code and paste it into the app. This worked for me but I don't know if it will work perfectly or not.

I would just like to verify that this solution by @afrizalyogi worked for me 100%.

I was having the exact same issue, "Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared."

The token code seems to appear in the url box. By copying the numbers starting after, "code=" and before "&scope", then pasting them in the Unofficial Google Assistant set up where it asks for the code, resulted in a successful authentication.

Also had to follow previous suggestions by others in this thread,

ie. deleting previous created Client IDs under OAuth 2.0 client IDs, creating a new Client ID for OAuth 2.0, publishing the project under OAuth consent screen to where it switches to "In production", deleting the previously downloaded OAuth client .json file and tokens.json file, redownloading the OAuth client .json file, completely exiting Unofficial Google Assistant from the tray, opening the Unofficial Google Assistant, deleting the previous input "Key File Path " and "Saved Tokens Path", setting the ""Key File Path" again with the newly downloaded OAuth client .json file.

(([One other thing that I did, personally, that wasn't mentioned in the instructions when starting out was to create a folder called "Google Assistant" in the C Drive so that all files were nested in that folder; so that it was structured ie. C:\Google Assistant\Google Assistant\ C:\Google Assistant*****.json C:\Google Assistant\tokens.json

Whether this helped are not, I don't know.]))

I hope this can help others get this project working until an update can be made.

This, and the quoted reply worked. Thanks!

tmack8001 commented 2 years ago

@afrizalyogi I hope you have either modified that token and/or rotated the credentials 😜 (not sure if tokens can be used multiple times, but typically not good security practice to share them in the clear)

ghost commented 2 years ago

No, I used Issue #671 and a few of the comments showed it. Thanks anyway 😁

PsyNyde commented 2 years ago

so no fixes yet? 😿

sumeshir26 commented 2 years ago

Try redownloading the key

PsyNyde commented 2 years ago

Try redownloading the key

Tried still didn't work..😿

chris-chin commented 2 years ago

same issue doesn't work

vovaklim2007 commented 2 years ago

Same problem. Solution not found yet?

im-coder-lg commented 2 years ago

I guess it's this: https://github.com/Melvin-Abraham/Google-Assistant-Unofficial-Desktop-Client/issues/671#issuecomment-1072883616

vovaklim2007 commented 2 years ago

I have a token, but Google Assistant gives me an error "Authentication Failure The Key file provided is not valid. Make sure the file is of the form "clientsecret.apps.googleusercontent.com.json" Error: Invalid Key file" and I don't know how to solve it

im-coder-lg commented 2 years ago

Try redownloading it. If I am not wrong, in the issue chat history, the community found a method to get a new client secret JSON file with a different content. So try that, and if anything goes wrong, I'll help early in the morning IST :)

afrizalyogi commented 2 years ago

@afrizalyogi I hope you have either modified that token and/or rotated the credentials 😜 (not sure if tokens can be used multiple times, but typically not good security practice to share them in the clear)

I used a testing account to do this test without using my real account (for security purposes). But anyway, thanks for your advice @tmack8001, I'll pay more attention to what I share next time 😁.

vovaklim2007 commented 2 years ago

Попробуйте перезагрузить его. Если я не ошибаюсь, в истории чата проблемы сообщество нашло способ получить новый JSON-файл секрета клиента с другим содержимым. Так что попробуйте, и если что-то пойдет не так, я помогу рано утром по IST :)

I created a new token and received the token on another account. Nothing helps. Did everything according to the guide.Maybe you need to change something in the code?

q7z commented 2 years ago

I am struggling with this issue too. It keeps giving this same error. Followed all the instructions. Anyone get a fix>?

Qu-Bi commented 2 years ago

The same problem, redownloading file don't help.

JuanGallo132 commented 2 years ago

The same problem. Redownloading file, others possible fixes doesn't work... Nothing... I'm going to wait a solution or a fix for this problem...

v-mod commented 2 years ago

I fixed it by going to credentials and clicking the download button at the end of Web client (auto created by Google Service) image and using those as the key credentials instead. NOTE: You need to click image to get the key file! When I got the error: Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared. I Just copied the code in the address bar in between /__/auth/handler?code= and &scope=https://www.googleapis.com/auth/assistant-sdk-prototype.

JoukoG commented 2 years ago

I fixed it by going to credentials and clicking the download button at the end of Web client (auto created by Google Service) image and using those as the key credentials instead. NOTE: You need to click image to get the key file! When I got the error: Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared. I Just copied the code in the address bar in between /__/auth/handler?code= and &scope=https://www.googleapis.com/auth/assistant-sdk-prototype.

Worked for me!!!

JuanGallo132 commented 2 years ago

sorry, I don't understand... Where the code you mention appears?

v-mod commented 2 years ago

In the address bar, when it throws the error Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared., you copy the bit in between //auth/handler?code= and &scope=https://www.googleapis.com/auth/assistant-sdk-prototype. Here is an example: in the URL https://XXXX-XXXX.firebaseapp.com//auth/handler?code=4/72HDHD7EH293-SOIDJKD3_0OJxLykAwYPsK1ruMJWDJODJNJF_2GEZ8z9BoM4Qg&scope=https://www.googleapis.com/auth/assistant-sdk-prototype you would copy 4/72HDHD7EH293-SOIDJKD3_0OJxLykAwYPsK1ruMJWDJODJNJF_2GEZ8z9BoM4Qg and use that as the code/token that it asks for.

You do this instead for the URL in your address bar. Hope this helps!

JoseManuelMB commented 2 years ago

In the address bar, when it throws the error Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared., you copy the bit in between //auth/handler?code= and &scope=https://www.googleapis.com/auth/assistant-sdk-prototype. Here is an example: in the URL https://XXXX-XXXX.firebaseapp.com//auth/handler?code=4/72HDHD7EH293-SOIDJKD3_0OJxLykAwYPsK1ruMJWDJODJNJF_2GEZ8z9BoM4Qg&scope=https://www.googleapis.com/auth/assistant-sdk-prototype you would copy 4/72HDHD7EH293-SOIDJKD3_0OJxLykAwYPsK1ruMJWDJODJNJF_2GEZ8z9BoM4Qg and use that as the code/token that it asks for.

You do this instead for the URL in your address bar. Hope this helps!

This worked for me

chris-chin commented 2 years ago

Thanks it works for me.

To navigate to the Download JSON button, it's the rightmost icon in Google Cloud Platform, API & Services, Credentials page.

Importantly, download from the credential "Web client (auto generated by Google service)".

For the sessionStorage error, v-mod has clearly explained the solution in the post above.

Morched23MJ commented 2 years ago

Problem seems to be related to the unfound redirect_uris property not found in the key file, at line 26 in node_modules/google-assistant/components/auth.js

The solution suggested by @gabrielPaim98 worked.

I was able to fix it by going to Cloud Console, credentials, and using (downloading) "Web client (auto created by Google Service)" under OAuth 2.0 client IDs section. Just download the .json file and change the "Key file Path" on the app to this new one.

The page he mentioned: Screenshot from 2022-04-12 10-06-51

JuanGallo132 commented 2 years ago

Sorry, I still don't understand what the solution looks like... I try to get the . JSON of the Web client (auto created by Google Service) in the Console.Cloud.Google but nothing... I also try to put the code they recommend in the URL bar and nothing... I don't know if I'm doing something wrong, if I don't understand what they mean, or I don't know... I just haven't been able to fix the problem

JuanGallo132 commented 2 years ago

In the address bar, when it throws the error Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared., you copy the bit in between //auth/handler?code= and &scope=https://www.googleapis.com/auth/assistant-sdk-prototype. Here is an example: in the URL https://XXXX-XXXX.firebaseapp.com//auth/handler?code=4/72HDHD7EH293-SOIDJKD3_0OJxLykAwYPsK1ruMJWDJODJNJF_2GEZ8z9BoM4Qg&scope=https://www.googleapis.com/auth/assistant-sdk-prototype you would copy 4/72HDHD7EH293-SOIDJKD3_0OJxLykAwYPsK1ruMJWDJODJNJF_2GEZ8z9BoM4Qg and use that as the code/token that it asks for.

You do this instead for the URL in your address bar. Hope this helps!

That code doesn't work with me... I've tried the client ID that gives the Google Console, and several others but none works. I don't know if I'm doing it totally wrong, or if it doesn't work on its own. I'm going to leave some screenshots of this...

JuanGallo132 commented 2 years ago

image

JuanGallo132 commented 2 years ago

No code has served me, neither the examples they give in this forum, nor in those that the Google Console gives me...

dogiee commented 2 years ago

I really hate to be the guy, but the instructions listing 20% of the steps at best are not helpful. After 60 minutes following link after link of 'this is the solution', I am still no closer. That being said, I did manage to get this working on a prior key, but having created a new project, I can no longer find the correct set of instructions.

Please, someone write actual step by step instructions

etatus commented 2 years ago

Ok, that's what I do to solve the problem:

  1. Download the JSON file from Web client credential from [Google API & Services > Credentials] page and use it as the Key File in the client.

image

  1. When the client ask you for the code and you get the error "Unable to process request due to missing initial state [....]" in the browser, just copy from the url bar the code under the "code" GET parameter. That is the code you must paste in the client.

image

zNoobs commented 2 years ago

Still same problem for me, I always get this error when I enter the code: image I created new project, waited few days, still same error, it is endless...

Edit: Found a solution for my problem, I deleted the folder of the app's files (path: "%appdata%/Google Assistant"), and tried again and it worked (by copying the code in the URL as said above).