标签: google-oauth

"当app_type = online时,此应用程序希望:具有脱机访问权限"

我有一个带有OAuth 2.0身份验证的Google App.一切都习以为常,但最近我开始获得以下"请求许可"屏幕:

在此输入图像描述

奇怪的是,当我通过时,我得到了这个屏幕access_type=online.再次,这曾经工作到最近.

这可能是什么原因?TIA

编辑:

要求的范围是:

https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了:

  • 有没有 access_type=online
  • 有没有 approval_prompt=auto

编辑#2:

这是我用来生成身份验证URL的python代码:

encoded_params = urllib.urlencode({
    "response_type" : "code",
    "client_id" : MY_CLIENT_ID,
    "scope" : " ".join(MY_SCOPES),
    "redirect_uri" : MY_REDIRECT_URI,
    "state" : random_security_token,
    "access_type" : "online",
    "approval_prompt" : "auto",
    })

auth_url = "https://accounts.google.com/o/oauth2/auth?" + encoded_params
Run Code Online (Sandbox Code Playgroud)

更新(10月14日):

即使使用新的范围,我仍然会获得同意屏幕.最近我得到了一个我用于身份验证的新设备.

oauth-2.0 google-oauth

58
推荐指数
5
解决办法
2万
查看次数

如何在我的网站上实施"使用谷歌登录"?

在我的网站上,我想允许用户使用Google帐户登录.我打算使用openid,但我想允许使用google登录,因为它有更多好处.我曾经注意到一些网站能够使用google(gmail)帐户和IIRC登录,虽然他们不支持openID(但我可能错了).

如何实施"使用谷歌登录"?

openid gmail login cross-domain google-oauth

57
推荐指数
4
解决办法
9万
查看次数

OAuth2和Google API:访问令牌到期时间?

我们有一个独立的Java应用程序(请参阅"安装应用程序":https://developers.google.com/accounts/docs/OAuth2)的定期运行,并使用谷歌API(从客户数据库/ LDAP更新一些信息/ ...) .

要访问Google API,我们会在配置文件中存储用户名和密码,这是一种安全风险,客户不喜欢这样做.因此,我们希望使用OAuth2长期访问令牌.

Google OAuth2访问令牌的默认到期时间是什么时候?

由于我们在应用程序中只有访问令牌,因此当访问令牌到期时,应用程序本身无法刷新它...

我个人认为在这种情况下OAuth2的实现不会带来任何重大好处,但让我们关注主要问题 - 默认的到期时间.

security google-api oauth-2.0 google-api-java-client google-oauth

56
推荐指数
2
解决办法
11万
查看次数

获取用户电子邮件地址的Google OAuth API?

我正在使用我自己的个人Google帐户玩Google的OAuth 2.0 Playground,但我似乎无法使用游乐场恢复我的Gmail地址.

我使用的范围是:

email profile https://www.googleapis.com/auth/plus.login
Run Code Online (Sandbox Code Playgroud)

但是当我调用API时:

https://www.googleapis.com/oauth2/v2/userinfo
Run Code Online (Sandbox Code Playgroud)

我得到有关用户的各种信息,如姓氏,名字,性别,图片等,但它不会返回用户的电子邮件.

如何检索用户的电子邮件地址?我是否有错误的范围或我是否使用了错误的API?我觉得这应该很简单,但我确实试图解决这个问题几个小时,我找不到一直提供用户电子邮件地址的API和范围组合.

email oauth google-plus google-oauth

55
推荐指数
8
解决办法
6万
查看次数

强制谷歌帐户选择器

是否有一种方法可以强制Google帐户选择器出现,即使用户只使用一个帐户登录也是如此.

我试过重定向到这个URL:

https://accounts.google.com/AccountChooser?service=lso&continue=[authorizeurl]
Run Code Online (Sandbox Code Playgroud)

它似乎工作,但我不知道是否有任何其他条件可能会失败.

在此输入图像描述

google-oauth

54
推荐指数
3
解决办法
2万
查看次数

Google OAuth 2.0 失败并出现错误 400:某些 client_id 的 invalid_request,但对于同一项目中的其他人来说效果很好

我们有一些应用程序(或者也许我们应该称它们为一些脚本)使用 Google API 来促进一些管理任务。最近,在同一项目中创建另一个 client_id 后,我开始收到一条错误消息,类似于localhost redirect_uri does not work for Google Oauth2 (results in 400: invalid_request error)中描述的错误消息。IE,

\n
\n

错误 400:无效的请求

\n

您无法登录此应用,因为它不符合 Google\nOAuth 2.0 确保应用安全的政策。

\n

您可以让应用开发者知道此应用不符合\n一个或多个 Google 验证规则。

\n

请求详情:

\n

此部分中的内容由应用开发者提供。\n此内容未经 Google 审核或验证。

\n

如果您\xe2\x80\x99是应用开发者,请确保这些请求详细信息\n符合 Google 政策。

\n

重定向_uri:瓮:ietf:wg:oauth:2.0:oob

\n
\n

我该如何解决这个错误?需要注意的是:

\n
    \n
  • 该项目的 OAuth 同意屏幕标记为“内部”。因此,任何提及 Google 对该项目的审查或发布状态的内容都是无关紧要的
  • \n
  • 我确实为该域启用了“信任内部、域拥有的应用程序”
  • \n
  • 同一项目中的另一个客户端 ID 有效,并且客户端 ID 之间没有明显差异 - 它们都是“桌面”类型,只提供了不同的客户端 ID 和客户端密钥
  • \n
  • 这是一个命令行脚本,因此我使用此处记录的“复制/粘贴”验证方法,因此使用urn:ietf:wg:oauth:2.0:oob重定向 URI(复制/粘贴是在没有浏览器的无头计算机上运行此脚本的唯一友好方法)。
  • \n
  • 我能够在开发域中重现相同的问题。我有三个客户 ID。最旧的一个是 2021 年 1 …

google-api oauth-2.0 google-api-client google-oauth

54
推荐指数
4
解决办法
11万
查看次数

什么是id_token google oauth

当我尝试将oauth2用于googleapi时,我得到了以下结果.只有一件事:我找不到文档中使用的id_token .

{  "access_token" : "xxxx",  "token_type" : "Bearer",  "expires_in" : 3600,  "id_token" : "veryverylongstring",  "refresh_token" : "abcdefg"}
Run Code Online (Sandbox Code Playgroud)

oauth-2.0 google-oauth

52
推荐指数
2
解决办法
3万
查看次数

谷歌oauth错误invalid_client没有支持电子邮件

我尝试按照Google OAuth2ForDevices实施Google oauth .

我的应用程序已在Google Cloud Console上注册为本机应用程序.当我尝试使用Google Chromes - Advanced Rest Client Application关注OAuth2ForDevices时,我会收到带有user_code和verfication_url的json响应.打开verfication_url并输入user_code会导致以下错误:

invalid_client:没有支持电子邮件错误400

我在Google云端控制台上使用了两个注册的应用尝试了此操作.两者都导致同样的错误.

Anys提示,如何解决这个问题?我是否必须support email在谷歌云服务中注册?

device oauth-2.0 google-oauth

52
推荐指数
2
解决办法
2万
查看次数

Google OAUTH:请求中的重定向URI与注册的重定向URI不匹配

我正试图从我的基于Java的网络应用程序上传到YouTube,我花了几天时间来了解问题的原因和地点,我无法得到它,因为现在我正在把头发拉出来.

我在Google控制台中注册了我的网络应用程序,因此我获得了一对客户端ID和密码以及使用我的配置下载JSON类型文件的可能性.

所以这是配置:

{
    "web":{
        "auth_uri":"https://accounts.google.com/o/oauth2/auth",
        "client_secret":"***",
        "token_uri":"https://accounts.google.com/o/oauth2/token",
        "client_email":"***",
        "redirect_uris":["http://localhost:8080/WEBAPP/youtube-callback.html","http://www.WEBAPP.md/youtube-callback.html"],
        "client_x509_cert_url":"***",
        "client_id":"***",
        "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
        "javascript_origins":["http://www.WEBAPP.md/"]
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何从Google获取默认网址?

The redirect URI in the request: http://localhost:8080/Callback did not match a registered redirect URI

它总是给我默认的http://localhost:8080/CallbackURL而不是我的.

IDE控制台告诉我:

Please open the following address in your browser: https://accounts.google.com/o/oauth2/auth?client_id=***&redirect_uri=http://localhost:8080/Callback&response_type=code&scope=https://www.googleapis.com/auth/youtube.upload Attempting to open that address in the default browser now...

我使用的是最新版本的依赖项: google-api-services-youtube v3-rev99-1.17.0-rcgoogle-api-services-youtubeAnalytics v1-rev35-1.17.0-rc

java youtube-api google-oauth youtube-data-api google-oauth-java-client

49
推荐指数
3
解决办法
11万
查看次数

公共IP地址可以用作Google OAuth重定向URI吗?

我正在尝试设置需要用户谷歌纵横信息的网络服务,因此我使用Google OAuth获取用户授权内容.

但是,当尝试在Google API控制台中为Web应用程序客户端ID设置重定向URI时,如果我尝试将其设置为"http:// PUBLIC_IP /",则会收到错误消息.

我需要使用非本地用户进行测试(因此无法使用localhost),因此我想知道是否必须拥有Web域才能使用Google的OAuth.如果没有,我该如何解决这个问题?

google-oauth

44
推荐指数
4
解决办法
3万
查看次数