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

Django中simple-sso登录遇/authorize路径404错误求助

解决Django simple-sso的404 /authorize/错误

核心原因

你遇到的404错误是因为请求的/authorize/?token=路径没有对应的URL映射。你的服务端SSO端点都挂载在/server/前缀下,正确的授权路径应该是/server/authorize/?token=...,而非直接访问/authorize/。

修复步骤

1. 修正Server实例的初始化参数

当前你创建Server对象时未传入密钥配置,这会导致服务端无法正常处理SSO请求。修改urls.py中的初始化代码:

test_server = Server(
    private_key=settings.SSO_PRIVATE_KEY,
    public_key=settings.SSO_PUBLIC_KEY
)

2. 确认URL路径的正确性

你的URL配置中,服务端的所有端点都通过^server/前缀映射,因此:

  • 服务端授权端点的完整路径是http://127.0.0.1:8000/server/authorize/
  • 你的settings.py中SSO_SERVER='http://127.0.0.1:8000/server'配置正确,客户端会自动拼接出正确的授权路径,无需手动修改

3. 验证URL匹配规则

检查urls.py中的正则表达式配置:

re_path(r'^server/', include(test_server.get_urls())),

该配置正确,会将所有以server/开头的请求转发给SSO服务端处理。如果是手动测试,请访问/server/authorize/?token=xxx而非/authorize/。

4. 补充缺失的站点配置

django.contrib.sites需要明确的站点ID才能正常工作,在settings.py中添加:

SITE_ID = 1

5. 重启服务器

修改配置后重启Django开发服务器,确保所有变更生效。

测试验证

完成上述修改后触发SSO登录流程,客户端会自动跳转到/server/authorize/路径,此时404错误应该会消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:15:43