我正在尝试向我的后端提交表单提交请求以进行用户身份验证,我被重定向到Facebook并登录到Facebook。我成功验证并返回了用户对象(在我的后端配置)。我的后端Facebook auth是在spring social tutorial之后完成的,我还关注了Geoffroy的春季社交登录教程:geowarin.GitHub dot io / social-login-with-spring.html。我的前端React.Js代码(在localhost:3000上运行)看起来像:
{
...
"proxy": {
"/connect": {
"target": "http://localhost:8080",
"secure": false,
"changeOrigin": true
}
},
...
}
我的package.json代理对localhost:8080的连接/ facebook响应,看起来像:
{React view components}
我期待看到的内容:
on localhost:3000
{
user: info
}
我看到的: 在localhost:8080
$query = $db->query("INSERT INTO tested (tester, manufacturer, model, serial, poweradapter)
VALUES ('$tester','$manufacturer','$model','$serial','$poweradapter')";
我的问题是如何在后端重定向完成后返回localhost:3000并且我应该在后端创建另一个方法,这样我就可以让ajax在前端获取请求以获取用户信息而不是发送JSON对象回来了。在spring.social握手完成后,我不确定如何重定向回3000.
答案 0 :(得分:2)
实际上你可以改变你的控制器
要在客户端重定向的标头
@RequestMapping(value = "/auth_url", method = RequestMethod.POST)
public void login(HttpServletResponse response) {
response.setHeader("Location", "http://localhost:3000");
}
或从控制器返回重定向网址
@RequestMapping(value = "/auth_url", method = RequestMethod.POST)
public ModelAndView login() {
return new ModelAndView("redirect:http://localhost:3000");
}
或者我建议通过AJAX提交表单并在不离开localhost:3000
的情况下处理onSuccess