错误信息:redirect uri is illegal [appid: 102795886] (100010)
错误场景:Django项目集成QQ授权登录时出现回调地址不合法错误
/
(如:path('qq/callback/', views.qq_callback)
)/
结尾https://www.pygrow.cn/auth/qq/callback/
⚠️ 有结尾斜杠https://www.pygrow.cn/auth/qq/callback
✅ 无结尾斜杠文件路径:social_auth/urls.py
# 修改前(有问题的配置)
path('qq/callback/', views.qq_callback, name='qq_callback'),
# 修改后(正确的配置)
path('qq/callback', views.qq_callback, name='qq_callback'), # 去掉结尾的 /
# social_auth/urls.py
urlpatterns = [
# QQ登录相关URL
path('qq/login/', views.qq_login, name='qq_login'),
- path('qq/callback/', views.qq_callback, name='qq_callback'),
+ path('qq/callback', views.qq_callback, name='qq_callback'), # 去掉结尾的 /
path('qq/register/', views.qq_register, name='qq_register'),
path('qq/bind/', views.qq_bind, name='qq_bind'),
path('qq/unbind/', views.qq_unbind, name='qq_unbind'),
]
path('qq/callback', views.qq_callback, name='qq_callback')
https://www.pygrow.cn/auth/qq/callback
https://www.pygrow.cn/auth/qq/callback
/
/
结尾# 其他QQ相关URL保持不变
path('qq/login/', views.qq_login, name='qq_login'), # 保持 /
path('qq/register/', views.qq_register, name='qq_register'), # 保持 /
path('qq/bind/', views.qq_bind, name='qq_bind'), # 保持 /
修复后,Django生成的QQ回调URL将与QQ互联平台要求完全一致:
https://
www.pygrow.cn
/auth/qq/callback
/
,容易忽略第三方平台的特殊要求解决状态:✅ 已解决
修改文件:social_auth/urls.py
关键修改:去掉QQ回调路由的结尾 /