当我使用多个帐户登录谷歌时

我试图通过https://stackoverflow.com/users/login(或使用OAuth2的任何其他网站)授权自己

我得到了 Bad Request - Error 400

当我处于隐身模式时,这不会发生

样本请求如下
https://accounts.google.com/o/oauth2/auth?client_id=717762328687-p17pldm5fteklla3nplbss3ai9slta0a.apps.googleusercontent.com&scope=profile+email&redirect_uri=https%3a%2f%2fstackauth.com%2fauth%2foauth2%2fgoogle&state=%7b%22sid%22%3a1%2c%22st%22%3a%221435c1882569148a8513b8e5ba7f747ac7821aaf558cbb1a28dd11c5c3cb358b%22%2c%22ses%22%3a%22354093ee65ee44e8a24582c78bdb7127%22%7d&response_type=code
Run Code Online (Sandbox Code Playgroud)
还有其他类似的问题,如Google oauth2和400个不良请求:谷歌方面的Bug?但是旧的并标记为固定的错误.我怎么能解决这个问题?我应该添加一些其他参数来触发帐户选择吗?
我最近安装了Ngrok,以便在手机上测试我的localhost流星应用程序.我成功通过ngrok通过隧道访问流星应用程序.但是,当我尝试登录时,我收到此错误消息:
登录过程显示以下错误消息:
400. That’s an error.
Error: redirect_uri_mismatch
Application: AppName
You can email the developer of this application at: my@emailadress.com
The redirect URI in the request, http://localhost:7123/_oauth/google,
does not match the ones authorized for the OAuth client.
Run Code Online (Sandbox Code Playgroud)
更新授权的JavaScript源并将URI重定向到Ngrok转发地址,没有任何效果.
如何正确使用ngrok与Google Oauth结合使用?
任何帮助将不胜感激
从大约5:30 UTC开始,我们只收到此api呼叫的响应
https://www.googleapis.com/appsmarket/v2/customerLicense/ {appId}/{customer}
{"error":{"errors":[{"domain":"global","reason":"forbidden","message":"未授权访问应用程序ID"}],"code":403, "message":"未授权访问应用程序ID"}}
但是我们之前没有任何先前的发展或变化,这会影响我们所有的市场应用.
有什么想法,以及如何解决/解决这个问题?
我正在使用Phonegap并使用Google登录功能实施OAuth登录.我使用了这个问题中的代码:如何在Cordova/Phonegap中使用Google Login API.
但之后,我把我的REDIRECT_URI为localhost,我的手机给我一个错误,并同意画面后立即关闭应用程序,并称此.
我认为问题是我的手机没有localhost URL,所以它不理解参考.但是,我发现的每个指南都说将redirect_URI设置为localhost.
我在此处设置了Google Developer Console中的redirect_URI .它们匹配我的代码中的redirect_URI,这里:
redirect_uri:'http:// localhost',
所以我知道没有不匹配.
我正在使用InAppBrowser窗口进行身份验证.当我在我的计算机上的服务器上运行它(使用离子服务)并将redirect_URI设置为localhost:8100(服务器的端口)时,它工作正常,因为localhost:8100实际上存在于计算机上.据我所知,我无法将redirect_URI设置为我的应用中的页面,因为Developer's Console仅允许某些URL.
如何在手机上的同意屏幕后允许我的应用返回上一页?
我也一直试图在同意屏幕后自动关闭InAppBrowser窗口,但window.close()不起作用.让它工作可能是因为我无法在登录后重定向回我的应用程序.
在Google Developer Console上创建凭据时您可以根据创建的类型创建多种不同类型的凭据,您可以使用以下任何一种类型
它们都有不同的格式. 我删除了我发布的内容.
AIzaSyAcMvMr_bk91qRKZ5SGYEvF5HWjXVE7Xkk1046123799103-d0vpdthl4ms0soutcrpe036ckqn7rfpn.apps.googleusercontent.comG5QtTuBDp6ejKraR0XodNwaW1046123799103-6v9cj8jbub068jgmss54m9gkuk4q2qu8@developer.gserviceaccount.com有没有办法在我的应用程序中验证这些.他们是什么类型的钥匙?
我正在使用C#,但有关哪种键有任何帮助的信息.
我可能会为客户端ID和服务帐户电子邮件提供某种RegEx检查.但必须有一种方法可以更好地验证它们.
更新:
Google允许您验证访问令牌,为什么无法验证凭据TokenInfo验证
不工作.
Convert.FromBase64String("AIzaSyAcMvMr_bk91qRKZ5SGYEvF5HWjXVE7Xkk");
Run Code Online (Sandbox Code Playgroud) c# google-api google-oauth google-oauth2 google-developers-console
我正在尝试使用oauth2按照Google的Gmail API使用quickstart.py(https://developers.google.com/gmail/api/quickstart/python).我收到以下错误.
Traceback (most recent call last):
File "quickstart.py", line 68, in <module>
main()
File "quickstart.py", line 54, in main
credentials = get_credentials()
File "quickstart.py", line 37, in get_credentials
credentials = store.get()
File "/usr/local/lib/python2.7/dist-packages/oauth2client/client.py", line 407, in get
return self.locked_get()
File "/usr/local/lib/python2.7/dist-packages/oauth2client/file.py", line 54, in locked_get
credentials = client.Credentials.new_from_json(content)
File "/usr/local/lib/python2.7/dist-packages/oauth2client/client.py", line 302, in new_from_json
module_name = data['_module']
KeyError: '_module'
Run Code Online (Sandbox Code Playgroud) 我最近迁移了我的应用程序,通过Chrome自定义标签而不是使用非系统帐户的内部WebView 对Google进行身份验证.除非用户正在同步/登录Google Chrome应用程序中的任何Google/Gmail帐户,否则一切正常.
当用户在手机上登录Google Chrome时,ServiceLogin网址会路由到Google Chrome的系统帐户管理界面:
Chrome帐户管理的屏幕截图:

有没有办法让Chrome继续路由到身份验证屏幕?我查看了Google的webserver OAuth2实现文档,但没有找到可以路由到浏览器体验的查询参数.
编辑:这似乎发生在Android 7.1.1上,但不是7.0.0.
编辑2:
流程是:
用户在我的应用程序中
我发送了ACTION_VIEW带有给定URI 的Chrome自定义标签意图(或意图).
该URI 应重定向到预先填写的Google登录页面,或者如果用户在浏览器中使用该帐户登录,则应该是权限批准页面.
相反,在安装了Chrome的Android 7.1.1上,Chrome会将我重定向到本机帐户管理屏幕(如下图所示).只有在我使用此设备上的任何Gmail/Google Apps帐户登录Chrome时,才会出现这种情况.
我不希望我的用户重定向到此帐户管理活动/屏幕.这实际上迫使用户将其身份验证的帐户添加为系统帐户,这似乎不是Google提出的合理要求.我正在寻找一种方法来避免Chrome吞噬帐户网页链接并将用户重定向到此本机帐户管理屏幕.
我试图通过POSTMAN从OAuth 2.0 Playground获取访问令牌。这些是配置。当请求令牌时,它说。为什么我无法获得令牌?如何解决呢?Could not complete Oauth2 login
我在使用Google授权方面遇到了一些麻烦,而且之前从未使用过任何“涉及Google凭证的”流程。
我的问题发生在创建凭证读取器之后(我认为这意味着我可以正确访问Google凭证的JSON文件),就在从中实例化新的Trusted Transport的行中GoogleNetHTTPTransport。在那里,抛出异常错误:
W/System.err: java.security.KeyStoreException: JKS not found
at java.security.KeyStore.getInstance(KeyStore.java:649)
at com.google.api.client.util.SecurityUtils.getJavaKeyStore(SecurityUtils.java:53)
at com.google.api.client.googleapis.GoogleUtils.getCertificateTrustStore(GoogleUtils.java:74)
at com.google.api.client.googleapis.javanet.GoogleNetHttpTransport.newTrustedTransport(GoogleNetHttpTransport.java:55)
at com.example.juans.hasapp.getDataFromSheet.authorize(getDataFromSheet.java:70)
Run Code Online (Sandbox Code Playgroud)
我一直在调查,但是仍然找不到关于这些运输工具如何工作或为什么KeyStore参与此过程的正当而清晰的解释。
我的代码是AsyncTask我用来从Google表格中获取数据的一部分,我目前正试图对其进行访问。在这里,我留下了您的authorize()方法,该方法将检索我并将Credential其传递给我SheetsService。
private Credential authorize(Context context) {
Resources resources = context.getResources();
InputStream jsonInput = resources.openRawResource(R.raw.credential_info);
Reader credentialReader = null;
try {
credentialReader = new InputStreamReader(jsonInput);
Log.v("GoogleAut", "credential reader created");
} catch (NullPointerException n){
Log.v("ERROR GoogleAut", "filePath came out empty, no info provided");
}
GoogleClientSecrets clientSecrets = null;
try {
clientSecrets …Run Code Online (Sandbox Code Playgroud) 我想使用Windows命令提示符下的curl执行Google OAuth 2.0。我的目标是更好地了解OAuth服务器实现的身份验证流程,请参阅HTTP标头等。
如何使用Windows命令提示符中的curl.exe完成此操作?
curl oauth-2.0 google-oauth google-cloud-platform google-oauth2
google-oauth2 ×10
google-oauth ×4
google-api ×3
oauth-2.0 ×3
android ×2
c# ×1
cordova ×1
credentials ×1
curl ×1
jks ×1
keystore ×1
login ×1
meteor ×1
ngrok ×1
oauth ×1
postman ×1
python ×1
redirect ×1