Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flask 您是否需要为OpenID授权客户端生成自己的nonce值?_Flask_Authlib - Fatal编程技术网

Flask 您是否需要为OpenID授权客户端生成自己的nonce值?

Flask 您是否需要为OpenID授权客户端生成自己的nonce值?,flask,authlib,Flask,Authlib,我试图从客户端授权使用OIDC隐式授权。从OAuth2Session authorization_url方法生成URI时,它不包括两个必需的值:nonce和redirect_URI 您是否应该使用JWT生成自己的nonce,并从注册的客户端传递重定向uri 我侧向加载了一个nonce并将uri重定向到OAuth2Session中,但是授权url没有使用nonce生成uri。但是,它确实包含重定向uri 我轻轻地检查了authlib源代码,找不到生成nonce的方法,只能找到验证它的方法。您需要将

我试图从客户端授权使用OIDC隐式授权。从OAuth2Session authorization_url方法生成URI时,它不包括两个必需的值:nonce和redirect_URI

您是否应该使用JWT生成自己的nonce,并从注册的客户端传递重定向uri

我侧向加载了一个nonce并将uri重定向到OAuth2Session中,但是授权url没有使用nonce生成uri。但是,它确实包含重定向uri


我轻轻地检查了authlib源代码,找不到生成nonce的方法,只能找到验证它的方法。

您需要将这些参数传递给
授权\u url

session.authorization_url(..., nonce='xxx')
您可能会发现这段代码很有用:


我已经更新了此用例的文档:

授权url的响应类型是“令牌”还是“id令牌”?如果它将其设置为“token”,它将给我一个InvalidGrant错误,如果它设置为“id\u token”,它将返回“RuntimeError:“exists\u nonce”hook未注册。“@TimeBigot”这是什么意思?这怎么可能。InvalidGrant和exists\u nonce钩子用于服务器端,而不是客户端。客户端的使用怎么会引发这种情况?对不起,我不清楚。当我访问授权url时,它会给我这些错误。我不应该访问url吗?您是否应该将url传递给fetch\u access\u token方法?如果我这样做,我会得到一个“缺少‘访问令牌’错误”。@TimeBigot我不理解你的问题。这是服务器端问题还是客户端问题?如果这是服务器端的问题,我猜您没有实现OpenID连接授权。而且Authlib是在AGPL下授权的,您应该开放源代码。在这种情况下,我可以找出你的代码出了什么问题。