创建access token时遇{"error": "invalid_client"}错误求助
解决Django OAuth Toolkit的"invalid_client"错误
匹配客户端类型与授权方式
注册应用时必须选择Confidential类型,密码授权模式仅支持保密客户端,选Public会直接触发invalid_client错误。核对Client ID和Secret
确保curl命令里的<client_id>和<client_secret>完全复制自应用注册页面,不要带多余空格、换行或符号。修正curl命令格式问题
你的命令存在两处错误:密码字段为空(password=)需填写实际用户密码;URL端口部分多了斜杠(http://<ip_address>:/o/token/),要改成正确格式(比如带端口的http://<ip_address>:8000/o/token/)。修正后示例:curl -X POST -d "grant_type=password&username=<user_name>&password=<你的用户密码>" -u"<client_id>:<client_secret>" http://<ip_address>/o/token/检查OAuth配置完整性
确认settings.py中已正确配置:INSTALLED_APPS = [ # 其他应用 'oauth2_provider', 'rest_framework', ] REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'oauth2_provider.contrib.rest_framework.OAuth2Authentication', ), } OAUTH2_PROVIDER = { 'ACCESS_TOKEN_EXPIRE_SECONDS': 3600, 'AUTHORIZATION_CODE_EXPIRE_SECONDS': 600, }同时urls.py要包含OAuth路由:
urlpatterns = [ # 其他路由 path('o/', include('oauth2_provider.urls', namespace='oauth2_provider')), ]确认用户账号状态
用于获取token的用户账号必须是激活状态,未被禁用。
内容的提问来源于stack exchange,提问作者Yash
相关产品推荐
相关产品推荐

