请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

qq绑定connect/callback.do跳不过去

按照老师视频里演示登录用户绑定微信的操作,在qq绑定时总是跳不过去,connect/callback.do过不去,qqLogin/callback.do能过去,求解?谢谢!图片描述

正在回答 回答被采纳积分+3

1回答

提问者 qq_凛冬将至_9 2019-09-03 16:58:33

自己解决了。qq互联填的回调地址和微信不一样,微信就一个域名,qq后面的路径在Spring Social拦截一个固定的url做社交登录,而使用ConnectController绑定与解绑的url都固定为connect,pinzhi365那配的/qqLogin,通过/connect/callback.do肯定调不过去的;如果回调地址做统一配置,配置为/connect/callback.do,social社交登录和绑定解绑的url就会冲突,而且始终是被社交登录filter先执行。坑就在这里!

自己换了一个思路解决了问题,既然social拦截的路径是走一个完整的登陆流程,而ConnectController的功能只是去社交平台取用户数据后进行UserConnect表的增删改查操作,那不如自己写一个在线绑定第三方的filter,在SocialAuthenticationFilter之前执行,判断如果是登录状态就做绑定,用ConnectSupport工具生成去第三方网站的url,回调的时候再做一个重定向,携带code和state信息重定向到ConnectController的请求处理方法。ok!这样就完美解决上面问题了。

还有一个奇葩的问题,因为按照老师教程中的qq的provider为callback.do,绑定成功ConnectController重定向时会检查url后缀,跳转回来会变为:/connect/callback.do.do,也是醉醉的,主要还是配置的人在qq互联上配置的回调地址不够规范啊

https://img1.sycdn.imooc.com//szimg/5d6e2b2309e42d1509910234.jpg

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信