标签: google-oauth

拒绝在框架中显示,因为它将'X-Frame-Options'设置为'SAMEORIGIN'

我正在开发一个应该响应的网站,以便人们可以通过手机访问它.该网站有一些安全的部分,可以使用谷歌,Facebook,...等登录(OAuth).

服务器后端是使用ASP.Net Web API 2开发的,前端主要是带有Razor的AngularJS.

对于身份验证部分,一切都在包括Android在内的所有浏览器中正常运行,但Google身份验证在iPhone上无效,它给了我这个错误消息

Refused to display 'https://accounts.google.com/o/openid2/auth
?openid.ns=http://specs.openid.ne…tp://axschema.org/namePerson
/last&openid.ax.required=email,name,first,last'
in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
Run Code Online (Sandbox Code Playgroud)

现在到目前为止我担心我的HTML文件中不使用任何iframe.

我用Google搜索,但没有回答让我解决问题.

asp.net-web-api angularjs google-oauth

252
推荐指数
8
解决办法
61万
查看次数

为什么访问令牌会过期?

我刚刚开始使用Google API和OAuth2.当客户端授权我的应用程序时,我会获得一个"刷新令牌"和一个短暂的"访问令牌".现在每次访问令牌到期时,我都可以将刷新令牌发送给Google,他们会给我一个新的访问令牌.

我的问题是访问令牌到期的目的是什么?为什么不能只使用持久访问令牌而不是刷新令牌?

此外,刷新令牌是否到期?

有关Google OAuth2工作流程的详细信息,请参阅使用OAuth 2.0访问Google API.

oauth google-api oauth-2.0 google-oauth

205
推荐指数
4
解决办法
10万
查看次数

Google身份验证器可用作公共服务吗?

是否存在在自运行(例如LAMP堆栈)Web应用程序上使用Google身份验证器(双因素身份验证)的公共API ?

security authentication google-oauth

146
推荐指数
6
解决办法
10万
查看次数

如何从Google Play获取用户下载的应用列表(付费/免费)?

我最近遇到了这个应用程序购买应用程序,它以某种方式能够检索我在使用我的谷歌帐户登录后在谷歌播放中支付的应用程序.

我正试图找出它是如何完成的,因为我想构建一个类似的应用程序,但对于下载的免费应用程序.

但是,即使经过整个API列表,我也无法找到用于检索该信息的OAuth API Scope .

谷歌登录要求访问androidmarket


编辑:我正在对这个问题提出新的赏金,正如我在这里提出的一个类似的问题所提出的那样,因为在这里和那里我没有看到关于如何做到的真正答案,以及可以做些什么用它.

我想将问题细化为多个部分:

  1. 什么是可用于获取已购买应用程序信息的API?我在哪里可以阅读它?请展示如何操作的完整实用示例.

  2. 可以做得更多吗?也许执行搜索?也许显示已安装的免费应用程序?也许是他们安装和卸载的时间?那些应用程序的类别?

  3. 使用此API有什么特殊要求吗?


编辑:我正在为此付出最大的赏金,因为无论我阅读和尝试了多少,我仍然无法制作可以从用户下载的Play商店查询应用程序的POC(名称,包装)名称,安装和/或删除日期,图标URL,价格...),包括付费和免费应用程序.

如果有人找到了工作样本,请展示它是如何完成的,并展示您是如何找到它的(文档或任何导致您获得解决方案的内容).我无法在任何地方找到它,而这里目前的解决方案对我来说太模糊了.

android google-play google-oauth google-signin

118
推荐指数
2
解决办法
3791
查看次数

如何验证Google身份验证API访问令牌?

如何验证Google身份验证访问令牌?

我需要以某种方式查询Google并询问:[给定访问令牌]是否对[example@example.com] Google帐户有效?

简短版本:
很清楚如何使用通过Google身份验证Api :: OAuth身份验证的Web应用程序提供的访问令牌,然后从一系列Google服务中请求数据.目前尚不清楚如何检查给定的访问令牌是否对给定的Google帐户有效.我想知道怎么做.

长版:
我正在开发一个使用基于令牌的身份验证的API.在提供有效的用户名+密码或从N个可验证服务中的任何一个提供第三方令牌时,将返回令牌.

其中一项第三方服务是Google,允许用户使用其Google帐户对我的服务进行身份验证.稍后将扩展到包括雅虎帐户,可信赖的OpenID提供商等.

基于Google的访问的示意图:

alt text http://webignition.net/images/figures/auth_figure002.png

"API"实体完全由我完全控制."公共接口"实体是任何基于Web或桌面的应用程序.一些公共界面在我的控制之下,其他公共界面不在我手中,而其他公共界面我甚至都不知道.

因此,我无法信任在步骤3中提供给API的令牌.这将与相应的Google帐户电子邮件地址一起提供.

我需要以某种方式查询Google并询问:此访问令牌是否对example@example.com有效

在这种情况下,example @ example.com是Google帐户的唯一标识符 - 用户登录其Google帐户时使用的电子邮件地址.这不能被视为Gmail地址 - 有人可以拥有一个没有Gmail帐户的Google帐户.

Google文档明确说明了如何通过访问令牌从多个Google服务中检索数据.似乎没有任何东西可以说明如何在一开始就检查给定的访问令牌是否有效.

更新 令牌对N个Google服务有效.我不能尝试使用Google服务的令牌作为验证它的方法,因为我不知道给定用户实际使用的所有Google服务的哪个子集.

此外,我永远不会使用Google身份验证访问令牌来访问任何Google服务,仅仅是为了验证所谓的Google用户实际上是他们所说的人.如果还有另一种方法,我很乐意尝试.

api web-services oauth google-authentication google-oauth

114
推荐指数
8
解决办法
9万
查看次数

我在哪里可以获得Google开发人员密钥

我正在开发谷歌API,如聊天,联系人等......我坚持developer_key在gdata doc中提到.

您可以访问https://code.google.com/apis/console获取此信息:

'developer_key' => ''
Run Code Online (Sandbox Code Playgroud)

我已经:

// OAuth2 Settings, you can get these keys at https://code.google.com/apis/console
'oauth2_client_id' => '',
'oauth2_client_secret' => '',
'oauth2_redirect_uri' => ''
Run Code Online (Sandbox Code Playgroud)

我在哪里可以找到开发者密钥?

我发现了这样的事情

http://code.google.com/apis/youtube/dashboard/gwt/index.html
Run Code Online (Sandbox Code Playgroud)

但我明白这只适用于youtube.

google-api google-apps google-data-api google-oauth

93
推荐指数
8
解决办法
14万
查看次数

将OpenID委托给Google(不是Google Apps)

是否可以使用我的个人网站/博客登录使用openid的网站,并委托我的Google帐户?


好的,我在SO上搜索了这个问题,但没有好的答案.花了一些时间后,我想出了如何做到这一点.我将自己回答这个问题,作为分享它的一种方式.

openid delegation google-oauth

85
推荐指数
3
解决办法
9398
查看次数

使用Google OAuth2.0将登录电子邮件限制为特定域名

我似乎无法找到有关如何限制登录我的Web应用程序(使用OAuth2.0和Google API)的任何文档,只接受来自用户的身份验证请求以及特定域名或域名集的电子邮件.我想白名单而不是黑名单.

有没有人有关于如何做到这一点的建议,关于官方接受的方法的文档,或者一个简单,安全的工作?

为了记录,在他们尝试通过Google的OAuth身份验证登录之前,我不知道有关该用户的任何信息.我收到的只是基本的用户信息和电子邮件.

google-api oauth-2.0 google-oauth

85
推荐指数
3
解决办法
5万
查看次数

google oauth2中的invalid_client

我尝试为youtube视频上传创建一个网页,因此我尝试从google api控制台获取客户端ID,并在api控制台中显示如下内容:

Client ID: 533832195920.apps.googleusercontent.com
Redirect URIs: http://bobyouku.ap01.aws.af.cm/testyoutube.php
https://developers.google.com/oauthplayground
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用以下URL测试我的帐户时:

https://accounts.google.com/o/oauth2/auth?client_id=533832195920.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Fbobyouku.ap01.aws.af.cm%2Ftestyoutube.php&scope=https%3A% 2F%2Fwww.googleapis.com%2Fauth%2Fyoutube&RESPONSE_TYPE =代码&ACCESS_TYPE =离线

它给出了invalid_client的结果.即使我在oauth2操场上尝试它,也会发生同样的失败

所以任何人都知道发生了什么?

google-data-api oauth2-playground google-oauth

85
推荐指数
11
解决办法
16万
查看次数

如何在没有用户干预的情况下授权应用程序(Web或已安装)?

假设我有一个需要在后台服务中访问Drive文件的Web应用程序.它将拥有自己正在访问的文件,或者在所有者共享文档的Google帐户中运行.

我知道我的应用程序需要一个刷新令牌,但我不想编写代码来获取它,因为我只会做一次.

NB.这不是使用服务帐户.该应用将在传统的Google帐户下运行.在某些情况下,服务帐户是一种有效的方法.但是,使用Oauth Playground模拟应用程序的技术可以节省大量的冗余工作,并适用于不支持与服务帐户共享的任何API.

google-api google-drive-api google-oauth gmail-api

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