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

Django REST Framework自定义用户模型下OAuth2 invalid_grant错误求助

Django REST Framework OAuth2 自定义用户模型下 invalid_grant 错误问题

我正在学习Django认证机制,尝试在Django REST Framework中实现OAuth2授权功能,已按照官方文档操作,但项目使用了自定义用户模型(AUTH_USER_MODEL = 'accounts.Account')。调用API获取access token时未得到预期结果,反而返回invalid_grant错误。

项目配置信息

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 自定义应用
    'accounts',
    'rest_framework',
    'oauth2_provider'
]

# OAuth2 provider 配置
OAUTH2_PROVIDER = {
    # 可用权限范围列表
    "PKCE_REQUIRED": False,
    'SCOPES': {'read': 'Read scope', 'write': 'Write scope', 'groups': 'Access to your groups'}
}

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
    ),

    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
}

AUTH_USER_MODEL = 'accounts.Account'
LOGIN_URL = '/admin/'

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

OAuth应用设置及Postman请求截图

OAuth应用设置
Postman请求参数配置
Postman请求错误结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 08:23:24