标签: google-oauth2

使用多个帐户登录时,Google OAuth2会返回错误请求

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

我试图通过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?但是旧的并标记为固定的错误.我怎么能解决这个问题?我应该添加一些其他参数来触发帐户选择吗?

google-oauth google-oauth2

8
推荐指数
0
解决办法
1926
查看次数

如何将ngrok与Google Oauth结合使用?

我最近安装了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结合使用?

任何帮助将不胜感激

meteor ngrok google-oauth2

8
推荐指数
1
解决办法
1966
查看次数

Google Marketplace许可证api突然无效

从大约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"}}

但是我们之前没有任何先前的发展或变化,这会影响我们所有的市场应用.

有什么想法,以及如何解决/解决这个问题?

google-api google-apps-marketplace google-oauth2

8
推荐指数
1
解决办法
344
查看次数

OAuth使用Phonegap登录后如何重定向回应用程序

我正在使用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()不起作用.让它工作可能是因为我无法在登录后重定向回我的应用程序.

redirect login oauth cordova google-oauth2

7
推荐指数
1
解决办法
3984
查看次数

验证Google凭据

Google Developer Console上创建凭据时您可以根据创建的类型创建多种不同类型的凭据,您可以使用以下任何一种类型

  • 公共API密钥
  • 客户ID
  • 客户秘密
  • 服务帐户电子邮件地址

它们都有不同的格式. 我删除了我发布的内容.

  • 公共API密钥: AIzaSyAcMvMr_bk91qRKZ5SGYEvF5HWjXVE7Xkk
  • 客户ID: 1046123799103-d0vpdthl4ms0soutcrpe036ckqn7rfpn.apps.googleusercontent.com
  • 客户秘密: G5QtTuBDp6ejKraR0XodNwaW
  • 服务帐户邮箱地址: 1046123799103-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

7
推荐指数
1
解决办法
526
查看次数

Google API Python - KeyError:_module

我正在尝试使用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)

python google-api oauth-2.0 google-oauth2

7
推荐指数
1
解决办法
3557
查看次数

如何绕过Android Chrome的OAuth帐户管理器?

我最近迁移了我的应用程序,通过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:

流程是:

  1. 用户在我的应用程序中

  2. 我发送了ACTION_VIEW带有给定URI 的Chrome自定义标签意图(或意图).

  3. 该URI 重定向到预先填写的Google登录页面,或者如果用户在浏览器中使用该帐户登录,则应该是权限批准页面.

  4. 相反,在安装了Chrome的Android 7.1.1上,Chrome会将我重定向到本机帐户管理屏幕(如下图所示).只有在我使用此设备上的任何Gmail/Google Apps帐户登录Chrome时,才会出现这种情况.

我不希望我的用户重定向到此帐户管理活动/屏幕.这实际上迫使用户将其身份验证的帐户添加为系统帐户,这似乎不是Google提出的合理要求.我正在寻找一种方法来避免Chrome吞噬帐户网页链接并将用户重定向到此本机帐户管理屏幕.

android google-chrome google-oauth google-oauth2

7
推荐指数
0
解决办法
328
查看次数

无法完成Oauth2登录

我试图通过POSTMANOAuth 2.0 Playground获取访问令牌。这些是配置。当请求令牌时,它说。为什么我无法获得令牌?如何解决呢?Could not complete Oauth2 login

在此处输入图片说明

oauth-2.0 postman google-oauth2

7
推荐指数
1
解决办法
1万
查看次数

尝试GoogleNetHTTPTransport时“未找到JKS”

我在使用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)

android credentials keystore jks google-oauth2

7
推荐指数
1
解决办法
2386
查看次数

如何使用Curl CLI执行OAuth 2.0?

我想使用Windows命令提示符下的curl执行Google OAuth 2.0。我的目标是更好地了解OAuth服务器实现的身份验证流程,请参阅HTTP标头等。

如何使用Windows命令提示符中的curl.exe完成此操作?

curl oauth-2.0 google-oauth google-cloud-platform google-oauth2

7
推荐指数
1
解决办法
1万
查看次数