问题标签 [oauth2client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 不知道如何使用 oAuth2 实现 Google 登录
我正在尝试为 Web 应用程序创建登录功能,并一直遵循此处列出的指南https://developers.google.com/identity/sign-in/web/server-side-flow
我已按照说明复制所有内容并将其替换为我的信息。我想让它尽可能基本,这样我就可以理解正在发生的事情。
这是我用于身份验证的 Python 应用程序。我想我做错了http请求,因为我不得不找到其他例子,因为谷歌网站上没有解释。该网站应该将 auth_code 发送到http://localhost:5000/auth_code并且 web.py 应该监听它,如果它成功打印出电子邮件。
网页.py
这是用于提供网页的 python 应用程序。
主机.py
这是网页的 HTML。
python - Google OAuth2client - invalid_grant:令牌已被撤销
我正在编写一个基本应用程序,使用此方法在 Google 的云资源管理器中打印出项目: https ://cloud.google.com/resource-manager/reference/rest/v1/projects/list
昨天它起作用了,但我撤销了令牌,并且代码没有提示重新授权。
_do_refresh_request 中的文件“oauth2client/client.py”第 834 行引发 HttpAccessTokenRefreshError(error_msg, status=resp.status) oauth2client.client.HttpAccessTokenRefreshError: invalid_grant: 令牌已被撤销。
我认为有一种方法可以告诉客户端检查令牌是否有效,如果无效则将用户弹出到浏览器,但似乎无法获取代码来执行此操作。任何帮助表示赞赏;)
python - 使用 oauth2client 库访问非 Google API
我正在尝试评估Pythonoauth2client
和oauth2
库的使用情况。我们已经在我们的服务器上安装了前者以使用一些 Google API。
现在我正在尝试找到一种方法来使用相同的库来使用外部 API。我试图找到一个这样做的例子。但是,正如我在大多数在线资源中看到的那样,oauth2client
它主要用于 Google API。
这个试验背后的想法是看看我们是否可以在不在oauth2
我们的服务器上安装包的情况下取消这个要求。
任何oauth2
安全专家都可以正确指导我,因为我在oauth2client
文档中找不到使用 oauth 进行身份验证的任何外部 API 不支持此包。
https://oauth2client.readthedocs.io/en/latest/#这说..
oauth2client
可以轻松与受 OAuth2 保护的资源进行交互,尤其是与 Google API 相关的资源
我在 Python 上运行,我有key
,我可以secret
在上面获得所需的 API。请指教。url
GET
google-api - 使用 Google 提供商的 HybridAuth 在进行身份验证时随机返回“invalid_request”
我们使用 Google OAuth2 将我们的用户验证到内部应用程序,使用 HybridAuth 2.4.0,直到大约一周前我们开始看到越来越多来自https://accounts.google.com的随机“invalid_request”响应/o/oauth2/令牌。
当我说“随机”时,今天更有可能:不起作用然后系统地工作大约一分钟(连续多次身份验证将成功)再次停止工作(即:“invalid_request”响应)。
我们尝试升级到最新版本的 HybridAuth(2.8.0 和现在的 2.8.1),但没有解决遇到的问题。
还检查了服务器时间(它是 NTP 同步的并且很好),尝试生成一个新的 Google API 密码,创建一个新的 Google API 项目,但没有任何更好的运气。
我们认为这是一个环境/服务器问题,因为我们有一个本地 DEV 环境,在该环境中 OAuth2 身份验证始终有效。此外,当使用 Google API Playground 并使用与 PROD 服务器相同的有效负载向https://accounts.google.com/o/oauth2/token发出请求时,它可以工作,我们将获得“Bearer”access_token。
一些 HybridAuth 调试日志:
任何有关进一步调查方向的线索将不胜感激:)
python - 如何在给定 OAuth2 access_token 的情况下授权 Python Google API 客户端服务?
我已经在我的 Django 项目中为 Google OAuth2实现了python-social-auth库,并且能够成功地使用它登录用户。该库将access_token
收到的数据存储在 Google 的 OAuth2 流的响应中。
我的问题是:使用google-api-python-client似乎依赖于创建和授权credentials
对象,然后使用它来构建 API service
,如下所示:
由于我从access_token
python-social-auth 提供的开始,如何创建和授权 API 客户端service
以供将来的 API 调用使用?
编辑:澄清一下,上面的代码来自谷歌提供的示例。
python - Python 2.7.11 httplib2 为 SSL SNI 网站的错误证书抛出 CERTIFICATE_VERIFY_FAILED
我有一个可以通过多个 URL 访问的网站,其中 2 个具有 SSL 证书,这些证书使用 SSL SNI 提供(整个事情都是使用 nginx 提供的)。
只要两个证书都有效,此设置对于浏览器以及监视网站的 Python 2.7.11 代码都可以正常工作。
最近,其中一个证书过期 - 没有用于任何事情(不用于入站流量,也不用于监控)的证书。这对访问该网站的浏览器没有影响,但它开始导致监控 Python 脚本出现故障,如下所示:
注意:我有一个有效证书和一个过期证书,问题是由于证书过期而引发异常,即使我通过有效证书的 URL。
我检查了requests
,访问“好”的 URL 没有问题,但如果我访问过期的 URL,则会出现预期的 SSL 错误 - 所以我怀疑这是 httplib2 处理 SNI 证书的特定问题。
不幸的是,我无法切换到requests
这个流程,因为这是一个外部库(在堆栈跟踪中可见 - oauth2client
)。
除了安装新的有效 SNI 证书(或切换到非 SNI 证书)之外,我还能做些什么吗?
更新:我找到了一种适用于这种情况的解决方法。
使用 nginx 提供 SSL SNI 时,仍然需要设置默认证书。事实证明,在这种情况下,默认证书是过期的。通过将默认证书更改为有效证书,错误消失了。
这种解决方法让我认为 httplib2 SSL SNI 实现中存在错误 - 它似乎需要验证默认证书,即使它不是所请求域的证书。
django - 使用 Django 访问谷歌分析数据
我正在尝试构建一个超级简单的仪表板来向用户展示他们的谷歌分析数据格式正确。
我正在使用oAuth2Client和 Django 1.10.4 和 Python 3.5。
我已经按照文档中的示例进行操作,现在我有一个非常简单的应用程序,登录页面会要求您登录,您单击链接进行授权,Google 页面会加载并询问您是否要共享您的 GA 数据如果您接受,您将被重定向到一个页面,您只有在登录时才能看到。到目前为止一切都很好。
但是我无法实际获取用户数据,例如获取用户帐户中的属性列表或更好地获取属性在上周的页面浏览量的最佳方法是什么?
到目前为止,这是我的代码:
/pools/models.py
网址.py
设置.py
所以我的问题是我真的不明白 Django 将令牌保存在哪里来访问该特定用户的数据,我知道它可以工作,因为它可以正确打印出电子邮件地址等,但我不知道我应该添加什么def google_analytics(object):
实际获取特定的 Google API 方法。
如果有人对这类事情有经验,我将非常感谢一些帮助!谢谢!
php - 调试 OAuth 客户端错误响应。我正在使用 PHP、Laravel5.3、PHPLeague OAuth 客户端和 Guzzle
让我首先感谢您抽出宝贵的时间。我是新手,所以如果您需要更多信息,请告诉我。
所以我试图在 Laravel 中设置一个 OAUTH2 客户端来连接到CLIO提供的 API 。我正在使用PHPLeague 的 OAuth2 客户端库,它使用GUZZLE来处理 HTTP。
我能够将客户端设置为重定向到 Clio 的授权页面,授权访问,重定向到我的应用程序并接收授权码。
在我需要发送请求以获取访问令牌的下一步中,出现问题!
这是我收到的错误:
类型错误:传递给 League\OAuth2\Client\Provider\AbstractProvider::prepareAccessTokenResponse() 的参数 1 必须是数组类型,给定字符串,在 /Users/patrick/Sites/ssacorp/vendor/league/oauth2-client/ 中调用第565行的 src/Provider/AbstractProvider.php
现在,为了追踪它,我知道调用了以下方法来开始获取访问令牌:
我丢弃了这些属性,我得到:
$参数
所以这里的一切似乎都很正常。我当然不会分享这些凭据。
$请求
$响应
这实际上是进入方法 prepareAccessTokenResponse() 的字符串,该方法应该是一个数组并导致主要错误。转储它表明它实际上是 CLIO 的 404 HTML 页面:
我已经在 Postman 中测试了链接和参数,并确认访问令牌实际上是使用我的 $params 中的相同 URI 和信息返回的。当我的 URI 正确并且 $request 说它必须使用 POST 方法时,为什么我会得到 404。不过,为了确认这一点,我尝试使用 Chrome 的 Dev Tools Network 工具,但无法找到对该链接的 POST 调用。我还应该如何解决这个问题以确保 Guzzle 将正确的数据发送到正确的地址?
python - 从 iOS 应用启用服务器端对 Google API 的离线访问
我正在尝试启用服务器端对用户从 iOS 应用程序进行身份验证的 Google API 的离线访问。这是为了允许服务器在 iOS 应用程序之外持续访问 Google API。
Google 记录了以下方法: https ://developers.google.com/identity/sign-in/ios/offline-access
我已经完全按照他们的文档进行了准系统项目。但是,每当我尝试用一次性授权代码交换访问和刷新令牌时,我都会在交换过程中收到“redirect_uri_mismatch”错误。
我搜索了论坛,并且许多人建议配置没有重定向 URI 的 Google API 项目 OAuth 2.0 客户端 ID(来自 Google 开发人员控制台)。但是,这会导致错误“在客户端类型“web”中缺少属性“redirect_uris””
我也尝试过其他 OAuth 2.0 客户端 ID 类型(例如,其他),但没有成功。
有没有人能够让这个流程工作?任何帮助将不胜感激!
python - GAE中Python导入的奇怪问题,而它在终端中工作
从 oauth2client 导入客户端,crypt
虽然上述行在 Mac OS 上的 ipython 终端中完美运行。运行 Google App Engine 项目时,同一行显示错误: ImportError: No module named oauth2client
有人遇到同样的问题并解决了吗?