问题标签 [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.
oauth - Lepture/authlib 是否支持单个应用程序中的多个 oauth 提供程序?
使用 lepture/authlib OAuth 包的 Python 应用程序的单个实例能否同时支持多个提供程序?
例如,我可以为一个处理 Google/OAuth2、Facebook/OAuth2、Twitter/OAuth1 的 python Web 服务器实例设置三个单独的处理程序吗?
我问的原因是我在第一次查看 bitly/oauth2_proxy 时偶然发现了这一点。事实证明你不能这样做(即我必须运行多个 oauth2_proxy 进程并为每个进程配置它自己的唯一提供程序)。
本来会在lepture / authlib上询问,但他们要求在此处询问这些类型的问题,而不是使用Authlib
.
authlib - Playground 授权端点导致错误:“insecure_transport”
首先,伟大的工作。我捐款是因为这真的可以为我省去很多麻烦。oauth2 和一般身份验证的新手。我注册并注册了@ https://play.authlib.org/,添加了newapp。当我尝试使用以下 uri 进行授权时:
它失败了:
{ "error": "insecure_transport", "error_description": "OAuth 2 必须使用 https。" }
我错过了什么吗?
flask - 客户端凭据授予无效的客户端错误
我在我的烧瓶应用程序中实现了 OAuth2 客户端凭据授予。
楷模
初始化.py
应用程序/api/auth/views.py
但是,我无法使身份验证正常工作。我使用正确的客户端凭据、范围和 grant_type 向令牌端点发出请求,但出现 invalid_client 错误。
python - 使用 lepture/authlib 获取 refresh_token
我正在使用 Authlib,并尝试从 Hydra 服务器获取 refresh_token。我有以下代码:
这打印出来
从文档中,我看到有一个函数可以从 refresh_token 获取访问令牌,但首先找不到获取 refresh_token 的方法。我将如何获得 refresh_token?Hydra 配置有:
这应该分发refresh_tokens。
authlib - Necessary to implement fetch_token if using access token immediately?
When using Authlib with a service like GitHub, is it necessary to implement fetch_token
if we only want to use the token once in order to retrieve a user's profile (from https://api.github.com/user)? I see that "If OAuth login is what you want ONLY, you don’t need fetch_token
at all," though technically we want a bit more than that, since we're calling github.get
after calling github.authorize_access_token
:
It appears that github.get("user")
succeeds (as does a call to, e.g., github.profile
) even without storing token
in, e.g., session
or a database and returning it via calls to a fetch_token
function?
ssl - 如何在 Authlib 中关闭 ssl 检查
我在我的项目中使用 authlib。我有一个使用 http atm 的本地 IDP 设置。对于测试,此代码阻止了我,因为我的开发环境是 http。
https://github.com/lepture/authlib/blob/master/authlib/client/oauth2.py#L155
我可以通过注释掉这一行来继续。但是,我认为有一种方法可以打开 https 检查更整洁。
那么,无论如何都知道在 Authlib 中关闭 https 检查的方法吗?
flask - Flask-oauthlib 或 authlib 在生产中?
我刚刚让 flask-oauthlib 在我正在构建的网站上工作。但是,我注意到该项目的首页有一个警告,请改为使用 authlib。
如果您在生产中使用 flask-oauthlib,您打算迁移到 authlib 吗?有谁知道这个迁移已经完成的简单项目回购?我非常感谢瞥一眼某些东西。
flask-oauthlib 页面,注意警告:
flask-oauthlib - Authlib - 隐式流
我已经启动了 example-oauth-server 并尝试练习隐式流程 - 我已按照文档中的说明进行操作并完成了以下操作
第 1 步 - 注册客户端;确保不需要客户端密码。第 2 步 - 打开一个 REPL 并执行以下操作
下一步是获取授权响应。我似乎无法得到那个。print(uri) 没有在 URL 响应中给我访问令牌,因为它不是授权响应。
我知道我需要调用 session.fetch_access_token(authorization_response);
我的困惑是当我没有得到授权响应时,我将什么传递给 fetch_access_token。
我知道我错过了一些小事......任何建议。
flask - 您是否需要为 OpenID Grants 客户端生成自己的 nonce 值?
我正在尝试从客户端授权使用 OIDC 隐式授权。从 OAuth2Session 授权 URL 方法生成 URI 时,它不包含两个必需值:nonce 和 redirect_uri。
您是否应该使用 JWT 生成自己的 nonce 并从您注册的客户那里继承 redirect_uri?
我将 nonce 和 redirect_uri 侧载到 OAuth2Session 中,但 authorization_url 不会生成带有 nonce 的 uri。然而,它确实包含了redirect_uri。
我轻轻检查了 authlib 源,找不到生成随机数的方法,但只有验证它的方法。
python - Authlib 0.6+ 不适用于 Auth0 模拟和 Flask
Auth0 模拟直接调用认证成功回调 URL 跳过认证的初始步骤。这会导致问题,因为作为回调处理的一部分调用的 flask/client/OAuth.authorize_access_token() 需要存在 session 变量_auth0_callback_
,但该变量未设置,因为它设置的唯一位置是 flask/client/在这种情况下不调用 OAuth.authorize_redirect()。
如果在调用 flask/client/OAuth.authorize_access_token() 之前它不存在,我们添加了一个 hack 来设置_auth0_callback_
会话变量,但这似乎不正确,我只是想知道我们是否正在做某事错误的。
我们在_auth0_state_
session 变量方面也遇到了类似的问题,但这可能已在我正在测试的 v0.7 中得到修复。我们目前在生产中使用 Authlib v0.6。
已向 Auth0提出此问题,但未收到任何回复。
任何帮助表示赞赏,谢谢
更新...
深入研究 Authlib 看起来,如果令牌包含在授权响应中,则flask/client/OAuth.authorize_access_token()
调用回调 URL 不需要OAuth2Session.fetch_access_token()
获取令牌,并且在这种情况下访问令牌包含在授权响应中是有道理的模拟 - 请参阅OAuth2Session.fetch_access_token()#152。因此,来自 Auth0 模拟的授权响应访问令牌可能不存在或未正确传递...