首页 > 解决方案 > 您是否需要为 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 源,找不到生成随机数的方法,但只有验证它的方法。

标签: flaskauthlib

解决方案


您需要将这些参数传递给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


推荐阅读