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