用的是 Docker 部署,版本为 4.2,升级后使用邮箱登录报 404 错误。(未升级之前登录报 500)
用的是 Docker 部署,版本为 4.2,升级后使用邮箱登录报 404 错误。(未升级之前登录报 500)
下载 4.3 的源码包,用 idea 打开,配置线上的数据库
截图是 Server 配置
问题关键点应该是在黑客派的回调请求地址
跳转
回调:
solo 无法处理这样的 url,因为 state 和 v 参数都乱了,再次尝试可以直接返回登录成功
翻了一下源码发现跳转地址是动态拼接的,代码段为
根据我对 get 和 url 的理解,地址应该类似 http://xxx.com/login/callback?type=xxx,因此我将代码 &state 改为 ?state,让 url 参数在 ?符号后面,得出以下结果
跳转
回调
solo 能正确收到回调的请求,但是里面的参数拼接是不正确的。。。再次登录直接提示 401
最后猜测,黑客派邮箱登录相关的 url 拼接出了问题,,,(我用的是邮箱登录)
感谢帮忙调试,这个问题是由于 v4.2.0 之前的版本 OAuth 流程存在严重的安全漏洞,但是又不能直接关掉,所以做了个兼容处理:
?
拼接作为 callback 的参数state
和 v
放在 HacPai login 参数上(不是 callback 的参数)之前的兼容代码本来应该在发布 v4.2.0 后不久删掉的,但是目前统计看了下还有不少人在用,所以估计得继续保留一阵子了。这段代码让你引起了误解,抱歉。
回到本来的问题上,如果社区端保持登录状态,是不是博客端点登录后就能正常回调登录?如果没有保持登录状态,用邮箱登录后回调博客端 404 么?
现在 Docker 仓库的 solo 版本是 4.2,由于我运行过 4.3,数据库参数改变了,能否将 Docker 仓库的版本也升级到最新的 4.3 ?
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于