使用 django-oAuth-toolkit 授权代码流程授权客户端时出现问题

Roy*_*Roy 6 python django oauth-2.0 django-oauth-toolkit

我一直在关注 django-oAuth-toolkit文档。在授权码步骤中,我已经注册了一个应用程序,如屏幕截图所示。

文档中给出的屏幕截图

但下一步是这样的:

要启动授权代码流程,请转至此 URL,如下所示: http://127.0.0.1:8000/o/authorize/?response_type=code&client_id=vW1RcAl7Mb0d5gyHNQIAcH110lWoOW2BmWJIero8&redirect_uri=http://127.0.0.1:8000/noexist/callback

但是,当我替换客户端 ID 并 ping 该 URL 时,它会将我重定向到以下 URL: http://localhost:8000/noexist/callback?error=invalid_request&error_description=Code+challenge+required.

我尝试用谷歌搜索该错误,但这是一个非常常见的关键字,我无法找到与我的问题相关的任何内容。我可能错过了一些明显的东西,我是 Python 和 Django 的新手。

注意:在文档屏幕截图中,缺少一个表单字段,该字段在我的本地环境中存在。这是算法领域。 我的本地应用程序的屏幕截图

Diy*_*bek 10

经过几个小时的调试后,我发现了这一点,请将其包含在您的 settings.py 文件中,它就可以工作了。也许这是一个错误,因为我们使用授权代码授权类型将我们的应用程序定义为机密,但 oauth_provider 认为它是公开的并尝试验证 pkce。

OAUTH2_PROVIDER = {
    "PKCE_REQUIRED": False
}
Run Code Online (Sandbox Code Playgroud)

  • 对此感激不尽!文档中没有吗?我错过了什么? (3认同)