问题标签 [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.
python - 带有自签名证书的 Authlib SSLError
我正在使用带有以下代码的 authlib:
尝试使用自签名证书访问我自己的 OAuth2 服务器时会产生 requests.exceptions.SSLError (CERTIFICATE_VERIFY_FAILED)。
不管这个错误如何,我应该怎么做才能使用 HTTPS?
flask - loginpass OAuth 客户端 - 不正确的行为
编辑:似乎存储在 Session 中的 redirect_uri 不会在调用中持续存在。
使用 loginpass 作为 OAuth2 客户端,使用示例仓库中的 authlib 服务器作为 OAuth2 服务器。
在 loginpass 中使用此代码
在授权步骤中,loginpass 向 OAuth2 服务器发送一个 redirect_uri 参数。服务器用验证码响应,然后 loginpass 请求一个令牌,但不包括 redirect_uri。
OAuth2 在处理请求时引发 InvalidRequestError 因为(根据 RFC 6749 的第 4.1.3 节)
redirect_uri 需要,如果“redirect_uri”参数包含在授权请求中,如第 4.1.1 节所述,并且它们的值必须相同。
引发 InvalidRequestError 的服务器代码
python - 带有 Authlib 0.11 的 JWT 令牌生成器
首先:非常感谢 Authlib 创建者/其他开源创建者和支持者。
我想让 Authlib 0.11 将 oauth 令牌作为 JWT 返回。我尝试按照 Authlib 网站中提供的文档使用 Authlib 0.11 https://docs.authlib.org/en/latest/flask/2/authorization-server.html#token创建 JWT 令牌生成器。
因为,我是这个主题的新手用户,我仍然无法找出将我的 JWT 令牌生成器方法传递给配置的正确方法:OAUTH2_ACCESS_TOKEN_GENERATOR
任何帮助表示赞赏。
这是我的虚拟 jwt 令牌生成器:
-- 显示我的 JWT 令牌生成器工作的输出并且可以正确解码返回的值 --
首先,为了测试我的 oauth 令牌请求凭据是否正确,我尝试从 Authlib 请求具有正确 client_credentials 和默认 token_generator 的 oauth 令牌。有了这个,我得到了默认的 oauth 令牌。
其次,我使用令牌生成器更新了配置,然后当我请求具有相同客户端凭据的 oauth 令牌时,我收到以下错误:
我知道当我将我的 gen_acc_token() 方法传递给配置时我做错了 - 但无法准确找出问题所在。
一个通过示例 gen_JWT_access_token() 的小代码片段会很棒。
flask - /oauth/token 上的 POST 始终使用 client_secret_basic
我正在尝试在我的烧瓶应用程序上添加 oauth2(服务器),但/oauth/token
端点存在一些问题client_secret_post
。
我的应用程序确实将以下内容作为表单发布:
我进入日志:
token_endpoint_auth_method
似乎没有改变任何东西,它总是返回{"error": "invalid_client"}
。
我已经尝试添加TOKEN_ENDPOINT_AUTH_METHODS = ['client_secret_post']
到我的class AuthorizationCodeGrant(grants.AuthorizationCodeGrant):
无效果(也没有任何记录器打印任何东西)。
我在那里错过了什么?
我在我的应用程序中实现的东西或多或少类似于 oauth2 烧瓶示例,这里有一些摘录:
应用程序.py:
app_oauth.py:
和我的蓝图:
编辑:在挖掘之后,它看起来是由 ClientCredentialsGrant 处理的,它只client_secret_basic
在默认情况下处理,然后我添加了:
现在验证但响应{"error": "unauthorized_client"}
flask - 电子邮件而不是密码授予中的用户名
我尝试在 ResourceOwnerPasswordCredentialsGrant 中使用电子邮件而不是用户名我希望请求是这样的
但我收到一个错误{“error”:“invalid_request”,“error_description”:“请求中缺少\“用户名\”。”}
python-3.x - 使用Authlib时如何修复'function'对象没有属性'create_authorization_url'?
我正在编写一个连接到 Budget Insight https://www.budget-insight.com/的 API,以从最终用户那里获取财务数据。
Budget Insight 在 web 视图上使用 Oauth2 身份验证,要求用户输入其凭据以生成代码,然后交换令牌。
我已经为我的项目安装了 authlib 及其依赖项,并尝试了不同的方法来完成这项工作
第一种方式
第二种方式
其次是
当我访问 /budgea 路由时,两种方式都返回 AttributeError: 'function' object has no attribute 'create_authorization_url'。
api - 如何在烧瓶 api 服务 (SPA) 中信任 azure 活动目录不记名令牌
我必须将后端 api 从 netcore 替换为 flask python。
后端为通过 oauth 2 隐式流向 Azure Active Directory 进行身份验证的单页应用程序提供 api。
两个应用程序(单页和后端)都在 Azure Active Directory 上单独注册,这篇文章很好地描述了我的场景。
https://devblogs.microsoft.com/premier-developer/using-adal-js-with-angular4/
实际上,我正在尝试通过烧瓶后端实现 oauth api 保护,但我发现的文档和资源始终从登录开始。
在我的情况下,登录是由一个角度应用程序(使用 adal.js)通过隐式流执行的,而不是所有受保护的 api 请求都具有后端应该管理的不记名令牌。
我已经尝试过 authlib、flask-dance 库,但我遗漏了一些东西,我无法执行工作计划。
有人可以帮忙吗?
python - authlib 中的 Mongodb 支持
我已经了解了lepture的authlib是如何工作的并且我有一点障碍,图书馆中有用于SQLAlchemy的Authorizationcode等模型混合,但它是为sqla设计的,是否可以在mongodb中实现authlib?谢谢你
python - Python 3、gspread、Authlib - 无法仅在 Linux 上导入名称 certificate_transparency
环境信息
- 操作系统:Ubuntu 16
- Python 版本:3.6(venv 内)
- gspread 版本:3.10
重现步骤
- 使用
Authlib
而不是oauth2client
withgspread
。 - 使用这里提到的代码。
- 尝试使用
gc.open
.
这是完整的回溯:
到目前为止我已经尝试过:
- 检查文件路径是否正确。
certificate_transparency.py
确实存在于/venv/lib/python3.6/site-packages/cryptography/x509
. - 在 Windows 上尝试了相同的方法,它可以正常工作。
- 重新安装所有依赖项,包括
pyOpenSSL
. - 尝试在
(venv)
Python 控制台中导入它。>>> from cryptography.x509 import certificate_transparency
工作正常。
我的代码:
python - lepture/Authlib 客户端不适用于 OAuth2 授权代码流
我正在尝试使用Authlib实现 OAuth2 提供者和客户端。我按照文档编写提供程序,似乎是正确的,但是客户端在被重定向到身份验证页面并成功确认访问资源后,我收到以下错误:{“error”:“invalid_grant”} . 不幸的是,我找不到原因。
这是我的代码:
模型.py
服务器.py
客户端.py