How to correctly use Google Plus Sign In with multiple activities?

Reconnecting for each activity is absolutely fine. Broadly there are 3 ways I’ve seen of people implementing this: Implement mostly in a baseactivity, and have the others extend that. This is connect/disconnect in each activity, but with code in only one place. Implement connect/disconnect in a fragment, and include that in activities where auth is … Read more

The signing fingerprint you specified is already used by another Android OAuth2 client

This error occurs when there is an existing SIGNING CERTIFICATE FINGERPRINT (SHA1) on Google Developers linked to a different account. Solution is to delete the project that is using that SHA1 in console.developers.google.com for the old/incorrect project. You cannot change the SHA1 fingerprint once it is set. Remember that deleting the project takes 7 days … Read more

Google OAuth 2.0 failing with Error 400: invalid_request for some client_id, but works well for others in the same project

Please see https://stackoverflow.com/a/71491500/1213346 for a “proper” solution. This answer is just an ugly workaround that the community seems to like. … Here is a cringy workaround for this situation: Replace urn:ietf:wg:oauth:2.0:oob with http://localhost:1/ in the code posted in the question. This makes the flow go through, my browser gets redirected and fails and I get … Read more

How can I decode a google OAuth 2.0 JWT (OpenID Connect) in a node app?

From the specification point of view, what you are encountering is [OpenID Connect]. id_token is a [JWS] signed [JWT]. In this case, it is a “.” separated string with three components. The first portion is the header. The second is the payload. The third is the signature. Each of them are Base64url encoded string. When … Read more