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

403 Error – Thats an error. Error: disallowed_useragent

In my case I was using native web view to login with Google, I find out the way that you should provide user agent to webview it was worked for me. Try below code I am sure it will worked. Add the code in application didFinishLaunchingWithOptions Objective C NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@”Mozilla/5.0 (Windows NT … Read more

“This app would like to: Have offline access” when access_type=online

I think G does this when your app requests a token and there is still a valid access or refresh token for the user for the scopes in question. The solution is to revoke tokens when you’re done with them (either on user logout or immediately after authenticating the user) by issuing this request: https://accounts.google.com/o/oauth2/revoke?token={token} … Read more

Can a public IP address be used as Google OAuth redirect URI?

This is not currently supported. I filed a feature request and will update on progress. Update: Essential app verification activities have continued to make support of IP address-based apps unlikely. These verification activities are necessary to provide protections against abuse of user accounts. In addition, the cost of setting up dedicated domains has been reduced … Read more

Force google account chooser

The following parameter is supported in OAuth2 authorization URLs: prompt Currently it can have values none, select_account, and consent. none: Will cause Google to not show any UI, and therefore fail if user needs to login, or select an account in case of multi-login, or consent if first approval. It can be run in an … Read more