问题标签 [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.

0 投票
1 回答
1096 浏览

python - 使用 Google API 的离线刷新令牌

我正在尝试使用 Google Analytics API 并在用户离线时访问。我最初使用 oauth2decorator_from_clientsecrets 获取凭据(默认情况下应该请求离线访问)。在令牌按预期过期之前,我可以访问 API 1 小时。在此之后,我最终得到一个错误:

“AccessTokenRefreshError:invalid_grant”

我正在使用以下代码使用存储的凭据访问 API:

我怀疑这与没有正确获得初始离线访问权限有关。当用户最初被定向到授权网址时,我看不到预期的确认

“在我不使用应用程序时执行这些操作”

相反,我看到的是:

确认网址

另外,我正在为我的应用程序使用“Web 应用程序的客户端 ID”。

干杯!

0 投票
2 回答
195 浏览

python - 如何设置 gflags 'positional_parameters_enforcement' 标志

您应该如何以编程方式为 oauth2 模块设置它?我尝试了以下方法,但得到一个关键错误:

0 投票
2 回答
621 浏览

oauth-2.0 - Oauth2 如何保护资源所有者?

在过去的几个小时里,我一直在阅读有关 Oauth2 协议的内容。据我了解,该协议的主要动机是资源所有者不必与第 3 方(客户端)应用程序共享其凭据,而只需与资源服务器共享。

在这篇文章中,我使用了Oauth2 RFC中定义的角色。但是,我并没有区分资源服务器和授权服务器。为了简单起见,我假设它们是相同的,并将它们称为“资源服务器”。

我可以看到两个不同的事件链。假设这两种情况都是从资源所有者开始的,目的是让客户端访问受保护的资源。

案例一,资源服务器提供的GUI

  1. 客户端将资源所有者转发到资源服务器的登录页面。
  2. 资源所有者在资源服务器的 GUI 上提供他/她的凭据。
  3. 成功后,资源服务器将资源所有者转发给客户端,并向用户客户端提供令牌。

案例2,客户端提供的GUI

  1. 客户端要求资源所有者向其自己的 GUI 提供他/她的凭据。
  2. 客户端将提供的凭据发送到资源服务器。
  3. 成功后,客户端获得令牌并访问资源服务器。

我关心的是情况 2。如果客户端不是作为客户端进行身份验证,而是作为资源所有者进行身份验证,那么客户端获得资源服务器上的完全权限会有多难?RFC 声明以下是使用 OAuth2 而不是让客户端处理资源所有者凭据的原因:

“第三方应用程序获得了对资源所有者受保护资源的过于广泛的访问权限,使资源所有者无法限制持续时间或访问有限的资源子集。”

RFC 进一步指出:

“第三方应用程序需要存储资源所有者的凭据以供将来使用,通常是明文密码。”

在案例 2 中,这很可能由客户保存。

所以...你能假设实现 Oauth2 的客户端(在情况 2 中)比没有实现的客户端更安全吗?资源服务器是否有可能实现防止此类事情发生的机制?

0 投票
1 回答
1041 浏览

authentication - 客户端如何获得 http-bearer 令牌?

我有一个单页应用程序,它当前打开了一个 OAuth2 身份验证提供程序的选项卡。在用户输入他们的凭据后,服务器会发送一个响应,该响应将关闭该选项卡。服务器“知道”客户端现在通过在其上设置会话来进行身份验证。

但是,我实际上不想使用会话。我想保持应用程序无状态。我读到这应该可以通过使用服务器可以验证的 oauth2 不记名令牌来实现。

客户端如何获得这样的不记名令牌?当我使用 iframe 或选项卡以便用户可以在服务提供商的登录页面输入他们的凭据时,我的 javascript 永远无法获得响应。

对于 Web 中当前的客户端-服务器架构,具有外部提供者(无会话)的 OAuth2 是否真的不可能?

0 投票
1 回答
2841 浏览

python - Google+ 域 API 403 被禁止

我正在尝试使用 Google+ API 创建 Circles,但我有点卡住了,这是我的代码,它或多或少是从官方 API 文档中复制的(是的,我知道它不会创建 Circle,但问题是相同)

我的输出:

我搜索了答案,但没有真正找到任何答案。在 API 控制台上,我添加了 Google+ API 和 Google+ Domains API 服务,我的秘密和客户端 ID 也可以(否则整个脚本会更快失败)。身份验证也成功,我的应用名称显示在https://accounts.google.com/IssuedAuthSubTokens下。我错过了什么?

0 投票
1 回答
6822 浏览

c# - Facebook OAuth redirect_uri 不是绝对的 URI。检查 RFC 3986。\",\"type\":\"OAuthException\",\"code\":191

今天下午我一直在努力将我的应用程序使用 facebook oauth。尝试获取访问令牌时出现错误:

这是我的要求:

我很感激任何帮助。

0 投票
0 回答
1067 浏览

google-app-engine - Google oauth2client 出现 EOF 错误(Python、google-app-engine)

我目前在我的 Python webapp 中使用 oauth2client 以使用 Google 的日历 API。

我将 oauth2client 复制到我的目录的根文件夹中,并按照https://developers.google.com/google-apps/calendar/instantiate的说明进行操作。这意味着我的代码如下所示:

ID、密钥都来自我的 Google Cloud Console 帐户,所以它们应该是正确的。我在日志中看到以下错误:


我不知道下一步该做什么,我们将不胜感激有关后续步骤的一些指导。谢谢!!

0 投票
1 回答
4512 浏览

java - User Registration & Login | SSO using Spring Security OAuth 2.0

I am trying to implement user registration and log in flow | SSO using Spring Security Oauth 2.0 and Google as the authentication provider.

  • How should I initiate registration and login flow? What filter needs to be applied?
  • In registration flow, I will needs user's details (name, email) that are part of successful authorization response, to be persisted in my local database. How do I handle that?

  • What's the purpose of oauth2:client id="oauth2ClientFilter" ?

This is how my application context file looks like:-

EDIT

I did implemented same use case using Spring Security OpenID by:-

  1. Declaring openid:form tag with exchange attributed configured
  2. Extend the UserDetailsService as described here.

I am looking for equivalent configuration for Oauth 2.0.

0 投票
1 回答
379 浏览

spring - OAUTH2 事务管理器 grails mongodb

我正在开发一个使用 mongodb、内置在 grails 中并使用 oauth2 作为身份验证服务的应用程序。我已经构建了服务和控制器(我认为),并且正在尝试运行我的服务器以手动测试与谷歌的连接性。我遇到了无法解决的“创建名称为 transactionManagerPostProcessor ... 的 bean 时出错”。我知道我需要安装一个为我处理“事务”的插件,或者在 resources.groovy 中创建一个 bean。

我已经对此进行了大量研究和阅读,但在过去的几天里,我一直处于死胡同,试图实现这一点。有人能告诉我如何解决这个问题,创建正确的 bean,或者安装正确的插件吗?下面的部分堆栈跟踪,带有指向完整堆栈跟踪的链接:

完整的堆栈跟踪可以在以下位置找到: http: //pastebin.com/5mW5uwtu

我试过添加

到调用谷歌对用户进行身份验证的服务。这是我在 stackoverflow 上的一个类似问题上找到的解决方案。我还在构建配置中摆弄了不同的插件和依赖项。不知道还有什么可以尝试的。

谢谢!

0 投票
1 回答
93 浏览

python - 使用 Cron 激活的 Python 脚本读取 Google 日历

在树莓派上使用 python 时,我下载了用于访问此处给出的谷歌日历的示例:https ://developers.google.com/api-client-library/python/并使其运行。只是重命名了原始文件并围绕它编写了一些代码。从命令行启动时脚本工作正常。

但是当通过 cron 每小时调用一次脚本时,需要额外的(或新的)身份验证:我被告知要复制一个到浏览器的链接,获取“成功代码”并将其复制到脚本的原始输入行中给我看看。问题是,这条消息是由 cron 通过电子邮件发送到我的邮箱的,并且脚本已停止。所以我没有机会输入“成功代码”并对其进行身份验证。

关于如何让 cron 激活的脚本读取我的日历的任何想法?