You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Django REST与django-oauth-toolkit无PKCE生成AccessToken遇阻

解决django-oauth-toolkit无code_challenge请求被拒的问题

针对你遇到的“Code challenge required”错误——即使全局关闭PKCE仍不生效的情况,按以下步骤排查解决:

  • 检查客户端应用的PKCE独立设置
    django-oauth-toolkit的每个OAuth客户端(Application)实例有单独的PKCE强制开关,全局配置会被这个客户端级别的设置覆盖。直接登录Django admin后台,找到对应的Application条目,取消勾选Require PKCE选项即可。

  • 修正全局配置的格式
    确保settings.py里的配置写法正确,全局关闭PKCE的参数需要放在OAUTH2_PROVIDER字典内,而非单独的配置项:

    OAUTH2_PROVIDER = {
        'PKCE_REQUIRED': False,
        # 保留你的其他OAuth相关配置
    }
    

    之前用的OAUTH2_USE_PKCE=False可能是旧版本的参数名,新版本已统一改用PKCE_REQUIRED,请根据你使用的django-oauth-toolkit版本调整。

  • 重启服务并清理缓存
    配置变更后必须重启Django服务,若项目启用了缓存,记得清理缓存确保新配置被正确加载。

  • 核对依赖版本
    如果上述操作仍无效,检查django-oauth-toolkit的版本,不同版本的PKCE配置逻辑可能存在差异,确认你使用的版本对应的配置参数是否正确。

内容的提问来源于stack exchange,提问作者Kaushik Tank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 17:32:36