问题标签 [rauth]

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 回答
10066 浏览

python - 创建会话时如何检测过期的访问令牌?

我有以下测试程序:

我已经授权我的应用访问 google 账号user1,并获得了一个 access_token。该访问令牌已经过期,我的程序的输出是:

我想在创建会话时检查访问令牌是否已过期,而不是在请求数据时。这可能吗?如何验证会话对象是否真的被授权?

为了澄清起见,我想做的是以下几点:

  1. 首先,让用户授权我的应用程序
  2. 保存访问令牌以供将来使用(在数据库中,但在测试代码中,这是在脚本中硬编码的)
  3. 每当稍后访问检测到令牌已过期时,请返回步骤 1

我目前在执行第 3 步时遇到问题。我当然可以在对我的 GET 的 json 回复中检测到 401,但是强制验证所有 GET 访问看起来相当麻烦。我要做的是验证会话在我创建时是否真的处于活动状态,然后假设在会话对象的整个持续时间内它将保持活动状态。通常这只是几毫秒,而我的 webapp 正在处理请求并使用 OAuth 会话对象访问 google API。

0 投票
1 回答
187 浏览

python - Rauth 库更改 - Python

我很难对 Rauth 库所做的更改,我想知道是否有人可以提供帮助。

首先,我创建了一个 Rauth 包装器(这只是一个示例,不是我的实际代码):

然后我正确地进行授权并返回一个令牌,然后我使用该 access_token 进行会话。访问令牌存在,我检查了。

问题是当我要进行查询时,我会发现我的会话无效。

self.session.get(一些 url,params = self.params,timeout = 30.0).content)

我不确定我是否正在使用新更改的库。有任何想法吗?我也不知道如何检查会话是否有效,所以这也有帮助。

0 投票
1 回答
592 浏览

python - 使用 imaplib.IMAP4 和没有 OAuth2 的 OAuth 进行身份验证

我正在使用 web.py 构建一个简单的服务器来学习用户的 gmail 消息。我已经使用rauth库完成了 OAuth 流程,现在我有了访问令牌。我现在想使用imaplib来拉下消息进行处理。但是,我非常不清楚如何使用 IMAP4.authenticate 方法。从文档中:

验证命令 — 需要响应处理。

机制指定要使用哪种身份验证机制 - 它应该以 AUTH=mechanism 的形式出现在 nstance 变量功能中。

authobject 必须是可调用对象:

data = authobject(response) 将调用它来处理服务器继续响应。它应该返回将被编码并发送到服务器的数据。如果应该发送客户端中止响应 *,它应该返回 None 。

我可以在网上找到的所有示例都使用 oauth2 库或 xoauth 库的身份验证方法,但我读过 oauth2 已被弃用,xoauth 不适合生产。这里有什么动作?我工作的图书馆是什么?

谢谢!

0 投票
1 回答
1124 浏览

python - Rauth OAuth 1.0 会话上的多个请求

我们使用Rauth连接到各种 OAuth 1 API。它适用于单个请求,但尝试对给定会话执行 2 个或更多请求会导致来自 API 的 401 未授权错误。

推特 API 示例:

这在 Twitter 和 LinkedIn API 上都会发生。我们如何对单个OAuth1Session对象执行多个请求?

版本:
rauth==0.5.4
请求==1.1.0


更新:

奇怪的是,如果params不包含参数,则可以发出多个请求 - 但一旦params包含,即使它是空字典,我们也会得到 401。

示例 1:

示例 2:

0 投票
1 回答
1623 浏览

oauth - 为 OAuth1 服务指定 oauth_callback URL (twitter)

我正在尝试通过 twitter 为我的 Web 应用程序提供无缝登录。为此,在用户授权我的应用程序后,我需要 twitter 重定向到特定的 URL。

不希望用户被迫复制粘贴PIN来授权应用程序。

根据“使用 Twitter 实现登录”的指南Step 1,在获取request_tokenan时oauth_callback必须指定 in。但是这样做rauth会引发异常:

如何oauth_callback为 OAuth1 指定重定向 URI ( )?

0 投票
2 回答
507 浏览

python - 如何查看请求通过网络发送的实际数据?

(这是这个问题的后续问题)

如何告诉我urllib3记录FULL请求,包括但不限于:

  • 网址
  • 查询参数
  • 标题
  • 身体
  • 以及在请求中发送的任何其他内容(我不确定是否还有其他内容,但如果有其他内容,我也想看看)

我在使用 OAuth 连接到 LinkedIn 时遇到了问题(Google 和 Facebook 也有类似的实现),我想看看到底发送了哪些请求。我怀疑auth_token没有提供,但我需要确认这一点。为此,我需要urllib3显示完整的请求,因为它们通过 HTTPS 并且我无法分析网络流量以查看它们(端到端加密)。

0 投票
1 回答
2164 浏览

python - 如何使用 Rauth python 库刷新令牌?

我对 Oauth 不是很擅长,所以需要一些帮助来实现我的 FreeAgent 会计系统的接口,他们提供了 Oauth 2 API。

我想用标准 Python 编写代码,似乎最好的库是 Rauth。我的问题是刷新令牌。

有没有关于如何使用 python Rauth 库刷新过期令牌的好示例?那么处理到期的最佳实践是什么?我可以尝试使用我的令牌,如果由于过期而出现错误,请请求刷新。或者,也许我可以跟踪令牌的生命周期,以防我的计算表明它已过期,然后再请求另一个。最好将所有这些令牌信息保存在哪里:在配置文件中、在 JSON 对象中、在数据库中……?

谢谢你的帮助。

格雷格

0 投票
1 回答
301 浏览

python - Python rauth 连接到linkedin

我最近接管了对使用 rauth 连接到linkedin 的应用程序的支持。失败的代码是:

该应用程序的所有者说这曾经可以工作,但现在我们得到了:

TypeError:request() 得到了一个意外的关键字参数“oauth_callback”

你能指出一些可以帮助我重新设计它的文档/示例吗?

-吉姆

0 投票
1 回答
939 浏览

oauth-2.0 - 使用 LinkedIn oauth2.0 和 rauth

我正在尝试使用 rauth 提供的 OAuth2Service 连接到 LinkedIn。我成功检索了访问令牌。为此,我为 json 响应配置了一个特定的解码器。

但是当通过 r = session.get('people/~', data={"x-li-format":'json'},) 以下响应进行 API 调用时,会返回:

LinkedIn是否有可能不支持不记名令牌?如果是这样,rauth 是否支持其他方案?

0 投票
1 回答
903 浏览

python - Rauth __attrs__ 与 OAuth2Service.get_session

Rauth(或 Reqeuests)Oauth2 会话使用问题。希望下面的代码和错误有意义。

谢谢,史蒂夫

错误信息: 'OAuth2Session' object has no attribute '__attrs__'

代码:

错误:

看起来它可以追溯到请求会话: