-
-
Save foutrelis/14e339596b89813aa9c37fd1b4e5d9d5 to your computer and use it in GitHub Desktop.
=================================================================== | |
Google doesn't allow using Chrome's API keys in Chromium builds and | |
strongly recommends against doing so. These OAuth 2 credentials are | |
taken from publicly available sources, but their fitness for use in | |
Chromium builds is not warrantied. | |
=================================================================== | |
!!! Use these keys to reactivate Sync in Chromium at your own risk; | |
they are extremely likely to stop working in the (near) future. | |
$ grep oauth2 ~/.config/chromium-flags.conf | |
--oauth2-client-id=77185425430.apps.googleusercontent.com | |
--oauth2-client-secret=OTJgUOQcT7lO7GsGZq2G4IlT | |
Note: The above works on Arch Linux because of its custom launcher, | |
plus a patch to reuse --oauth2-client-{id,secret} for setting | |
GOOGLE_DEFAULT_CLIENT_{ID,SECRET} similar to environment vars. | |
https://wiki.archlinux.org/index.php/Chromium#Making_flags_persistent |
@brand1970 Not at this time. (Reusing the --oauth2-client-{id,secret}
ones was an easier choice to make compared to adding new switches.)
Ok, thank you. I believe that, it is a good solution the using custom credentials so that the archlinux credentials are not abused
Yes, whoever owns these credentials and whoever shares or uses them should know that OAuth credentials are NOT to be distributed, and the use of them for Chromium builds by anyone other than their owner is likely against the ToS, so it seems likely that Google will revoke these sooner rather than later. You can get your own credentials by following this guide:
https://www.chromium.org/developers/how-tos/api-keys
And then launch chromium with these environment variables to re-enable the APIs (log back into Sync, etc.) with:
export GOOGLE_API_KEY=...
export GOOGLE_DEFAULT_CLIENT_ID=...
export GOOGLE_DEFAULT_CLIENT_SECRET=...
chromium
I've replaced my chromium launcher with this script (launched from xmonad).
Or also, the credentials can be placed on ~/.profile
In this case, there is no need for chomium launcher's replacement.
If you are going to use personal keys, I think you will have to subscribe to the google-browser-signin-testaccounts
mailing list in order for sign-in to work. See this post for more information.
Sorry would it be possible to provide a bit more explanation on how to use this approach. If I enter this grep says unrecognized option
The command is just grep oauth2 ~/.config/chromium-flags.conf
showing that the following two lines should appear in ~/.config/chromium-flags.conf
(after you add them of course). The alternative is passing the values with environment variables (GOOGLE_API_KEY can only be passed as an environment variable, there is no flag), or building them into the binary if you compile from source.
Thanks, sorry yes I should have been able to figure that out. Created the file and added the lines. It works great!
Unrelated, but is there a good way to make the opening of docx etc. work. For me it works on Chrome, but not chromium
Hello all,
thank you very much for this discussion. However, it looks like I am still missing something.
I created API keys and all credentials according to the guide on
And then launched chromium with these environment variables to re-enable the APIs (log back into Sync, etc.) with:
export GOOGLE_API_KEY=... export GOOGLE_DEFAULT_CLIENT_ID=... export GOOGLE_DEFAULT_CLIENT_SECRET=... chromium
Unfortunately, I am still unable to log in to my Google account from within Chromium-Dev (92.0.4484.7). After entering my Google username, I only get the message "This browser or app may not be secure. Try using a different browser."
What do I have to do in addition in order to enable my newly created credentials in Chromium-Dev?
OK, looks like the browser's user agent has to be changed to something more convenient to Google (example: Chrome on Windows):
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Hello All,
I'm doing the setup on a mac, and global imports don't work on mac as they should on a normal unix system, so I thought I could prevent some headaches:
/etc/default
or ~/.profile
variable imports are not passed to applications ran with spotlight or aqua/finder, so you should pass the variables to launchd to be able to inherit variables within applications ran with aqua/finder/spotlight.
You have multiple ways of setting global variables using launchd:
-
Setting environment variables using a launchd unit : see the link
-
You can add global variables to launchd within your shell's
.profile
or/etc/default
with adding the following lines:
GOOGLE_API_KEY=""
GOOGLE_DEFAULT_CLIENT_ID="client_id_you_saw_under_oauth"
GOOGLE_DEFAULT_CLIENT_SECRET="client_secret_you_saw_under_oauth"
launchctl setenv GOOGLE_API_KEY $GOOGLE_API_KEY
launchctl setenv GOOGLE_DEFAULT_CLIENT_ID $GOOGLE_DEFAULT_CLIENT_ID
launchctl setenv GOOGLE_DEFAULT_CLIENT_SECRET $GOOGLE_DEFAULT_CLIENT_SECRET
Add these into the LSEnvironment
section in Chromium.app/Contents/Info.plist
before launching for the first time:
<key>LSEnvironment</key>
<dict>
<key>MallocNanoZone</key>
<string>0</string>
<key>GOOGLE_DEFAULT_CLIENT_ID</key>
<string>...</string>
<key>GOOGLE_DEFAULT_CLIENT_SECRET</key>
<string>...</string>
<key>GOOGLE_API_KEY</key>
<string></string>
</dict>
Is there any flag to change the default GOOGLE API KEY with a custom?
So to may i change GOOGLE_API_KEY , GOOGLE_DEFAULT_CLIENT_ID , GOOGLE_DEFAULT_CLIENT_SECRET , all with customs ?
I tried my own ones (passing via environment variables) and it works.
But i can not pass my GOOGLE_API_KEY via chromium-flags configuration file.