问题标签 [authlib]

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 投票
0 回答
64 浏览

openid-connect - Authlib OpenID Connect 刷新令牌

关于https://github.com/lepture/authlib,我想在刷新令牌响应中返回一个 JWT 令牌。现在有可能吗?我正在寻找一个RefreshOIDCTokenGrant或类似的东西。我应该在我的 中手动完成RefreshTokenGrant吗?

0 投票
1 回答
40 浏览

documentation - 函数 get_token_user_sub() 应该做什么?

我目前正在使用 authlib 构建 OAuth 2.0 端点。在创建令牌自省端点的阶段,官方文档get_token_user_sub(token)在方法中建议了一个函数introspect_token()。它应该返回什么?在这种情况下,什么是“子”?

0 投票
2 回答
372 浏览

python-3.x - 使用客户端凭据时,authlib 是否支持刷新我的访问令牌?

我是 authlib 的新手,在查看文档时提到它支持passwordgrant_type 的“自动刷新”。

我想知道库是否能够在使用时检测到当前关联的令牌何时过期,client_credentials然后为我请求一个新的访问令牌。(为我做整个 OAuth 舞蹈)

检查我需要做的每一个电话,我是否得到了 401,然后触发获取新令牌的动作,这似乎很难看。

这里有最佳实践吗?可以以某种方式将其添加为装饰器吗?

0 投票
1 回答
828 浏览

django - Django authlib MismatchingStateError on authorize_access_token

我在 django authlib 客户端https://docs.authlib.org/en/latest/client/django.html上有一些问题。在重定向 url 上,authorize_access_token 引发 MismatchingStateError()。

这是我的代码:

和堆栈跟踪:

如果有人对如何解决它有一个想法,那就太好了。

感谢你们 :)

0 投票
3 回答
428 浏览

python - Google OAuth 不会在 authlib.starlette_client 中返回 refresh_token

嗨,我正在使用 authlib/FastAPI/Google 开发一个用于登录过程的网络应用程序,并希望保留refresh_token这样我可以让用户在应用程序中保持足够的时间。

我遵循了https://docs.authlib.org/en/latest/client/starlette.html中的标准程序

但是,refresh_token即使我指定了access_type='offline'. 如果我的应用程序已经在我的帐户中注册,我也添加了一个参数prompt='content'

我错过了什么吗?

此外,保持refresh_token一个长期运行的用户应用程序的最佳方式是什么?我不喜欢打扰用户多次登录。

提前致谢!

0 投票
1 回答
651 浏览

django - Authlib vs OAuthlib:这些库是一样的吗?

我是 OAuth2.0 和 OpenID 协议领域的初学者。我想为多个应用程序实现一个自定义服务器 - 提供程序。因此,将其用于单点登录 (SSO)。我想和python一起工作。到目前为止,我已经在 Python 中找到了四个包,用于 OAuth2.0 和 OpenID Connect 服务器实现:pyoidc、django-oidc-provider、OAuthlib 和 Authlib 的 Django OAuth Toolkit (DOT)。我试图阅读和理解 pyoidc,但它并不是那么有用和简单,缺少基本的东西。我已经尝试过 django-oidc-provider 并且我真的很满意,整个实现非常简单。因此,在这些试验之后,我只剩下 Django OAuth Toolkit(由 OAuthlib 提供)和 Authlib。有人试过吗?这些包是一样的吗?Authlib 是 OAuthlib 库的更新版本吗?到现在为止我唯一知道的信息,

*每一个答案或建议或个人经验都会非常有帮助,并且总是很感激!

再次感谢你的帮助。

0 投票
1 回答
225 浏览

python - eBay 和 Authlib 非常规令牌类型

我正在尝试使用Authlib库来访问新的 eBay REST API(作为授权码授予)

这是我的代码;

问题是 eBay 的令牌响应有一个非常规的令牌类型,名为“用户访问令牌”而不是“持有者”。因此我得到这个错误;

我注意到Authlib 文档中非标准部分的合规性修复,但无法弄清楚如何进行此修复,甚至无法以这种方式进行修复。

0 投票
2 回答
215 浏览

authlib - 使用 authlib 设置知名 url 的任何示例?

我正在评估 Authlib 以设置 OpenID 连接和 Oauth2.0 授权服务器。到目前为止,它对我来说效果很好。我试图查看是否可以轻松发布众所周知的 url,以便我可以让用 SpringBoot 编写的应用程序与 Authlib 服务器发出的 JWT 一起工作。

https://docs.spring.io/spring-security/site/docs/current/reference/html5/#oauth2resourceserver

我找不到太多关于如何发布知名 url 端点的文档或示例。在这方面的任何指导,将不胜感激。

0 投票
1 回答
88 浏览

python - 在 Authlib 中,如何在与我调用构造函数的文件不同的文件中使用 oauth.create_client?

我需要使用 Authlib 连接到网站。我是这方面的新手,所以我研究了一些教程:.,所有它们都给出了以下结构:

  1. 创建app实例;
  2. 创建oauth实例,传递appOAuth构造函数;
  3. oauth在路由功能装饰器中使用。

这个结构在同一个文件中。问题是我需要oauth在与创建实例(上面的第 3 点)的文件不同的文件中使用该实例,但我不知道该怎么做。一些帮助是不必要的。

有用的代码:

__init__py

/index/index_routes.py

0 投票
1 回答
765 浏览

python-3.x - 在 Google App Engine 上使用 flask_client 自动或手动刷新访问令牌

我成功地使用第 3 方 OAuth2 提供程序 (Xero) 授权我的应用程序,但无法自动或手动刷新令牌。

文档建议 authlib 可以自动执行此操作。我从 Authlib 文档中尝试了两种不同的方法,在烧瓶客户端文档中,他们给出了“通过信号自动更新令牌”的示例,在Web 客户端文档中,他们注册了“update_token”函数。

使用任何一种方法,都不会尝试刷新令牌,请求会使用过期令牌传递给 Xero,我收到错误消息,唯一继续的方法是使用 Xero 手动重新授权应用程序。

这是来自网络客户端文档的“update_token”方法的相关代码:

我将我的令牌存储在以下 NDB 模型中:

为了完整起见,这是我存储来自 Xero 的初始响应的方式(效果很好):

如何让自动刷新工作,以及如何在使用烧瓶客户端时手动触发刷新请求,以防自动刷新失败?