我正在测试Spring Social Showcase,我写了一个类似的应用程序。虽然Spring Social Showcase是一个使用Spring MVC编写的简单HTML应用程序,但我的应用程序使用的是angularjs和AJAX。在Twitter或Facebook接受访问令牌后,重定向存在问题。
在我的流程中,首先我更改ProviderSignInController
的设置:
providerSignInController.setSignUpUrl("/register/social"); <-- redirect into my controller
然后是我的控制器:
@RequestMapping(value="/social" ,method=RequestMethod.GET)
public ModelAndView social(WebRequest request, ){
LOG.info("Register new user using social info");
Connection<?> connection = ProviderSignInUtils.getConnection(request);
if(connection != null){
LOG.info("User has been authorize from " + connection.getKey().getProviderId());
LOG.info("Connection class: " + connection.getClass());
model.addAttribute("socialUser",RegisterUserDto.fromSocialProfile(connection.fetchUserProfile()) );
}else{
}
return new ModelAndView("redirect:http://localhost:8080/turnigo-core-web/#/register");
}
此控制器仅使用注册表单将我重定向回网站,但我没有从社交提供商处获得任何用户个人资料数据。简单的重定向工作正常,但对我的应用程序来说还不够。 :/
我不知道如何解决它,所以这是我的问题:
可以在其他网页上打开社交认证网站,然后关闭它并返回上一页的用户个人资料数据?
使用Spring Social登录的AJAX应用程序是否有任何示例?