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 源,找不到生成随机数的方法,但只有验证它的方法。
解决方案
您需要将这些参数传递给authorization_url
:
session.authorization_url(..., nonce='xxx')
您可能会发现这段代码很有用:https ://github.com/authlib/loginpass/blob/master/loginpass/_core.py#L130
我已经更新了这个用例的文档: https ://docs.authlib.org/en/latest/client/oauth2.html#oauth-2-openid-connect
推荐阅读
- html - Bootstrap - 同一行上的两行
- regex - VS-Code,在 Find All 中使用正则表达式(Ctrl + Shift + F)
- node.js - React Native 项目由于错误而无法启动:EISDIR
- excel - Eclipse Birt - 如何使列在 Excel 输出中完全不可见
- excel - vba 比较多个工作表中相同地址的值
- c++ - 为什么完全有效的特征方法在模板中不起作用?
- identityserver4 - 如何实现 IClientSecretValidator
- android - 使用 Kotlin 在 android 中长按 3 根手指
- c - why use lazy binding for Position-Independent Code Function Calls
- c++ - 如何访问和使用共享库中定义的字符串