Использование Spring Social и Spring MVC, я пытался использовать RedirectView при подключении к социальному провайдеру и должен что-то пропустить и не удается получить успешный процесс подключения к LinkedIn.Метод Http POST и Spring MVC RedirectView
Вот два метода контроллера: первый действует как ожидалось: на основе выбора поставщика услуг от пользователя он обнаруживает, что он не подключен к Связанному через вызов sp.isconnected()
и когда не перенаправляется на представление, которое управляется 2-м способом для инициирования связанного соединения.
Второй способ устанавливает соответствующие параметры права и перенаправляет на соответствующий весовой URL социального соединения (URIs.SPRINGLISIGNIN = "/ connect/linkedin"), но Spring Social ConnectController ожидает на этом этапе метода POST, и я не управляю чтобы выяснить, как передать его через RedirectView. Я ожидал, что первоначальный метод POST от первого метода контроллера будет выполнен ко второму, но это не так. В режиме отладки в методе lisgnin request.getMethod() показывает значение GET.
@RequestMapping(value = Uris.SPCHOICE, method = RequestMethod.POST)
public RedirectView Spchoice (@RequestParam("sp") String sp, Model model) {
ServiceProviders spasenum = ServiceProviders.valueOf(sp);
RedirectView toReturn;
SPConnectionRetriever spResolver=null;
switch (spasenum) {
case FACEBOOK :
spResolver = FBConnectionRetriever;
break;
case LINKEDIN :
spResolver = LIConnectionRetriever;
break;
}
SecurityContext.setCurrentSpResolver(spResolver);
if (spResolver.isconnected())
toReturn = new RedirectView(Uris.MAIN, true);
else
toReturn = new RedirectView(spResolver.getConnectUrl(), true);
return toReturn;
}
Вот второй метод:
@RequestMapping(value = Uris.SIGNINLI)
public RedirectView liSignin(HttpServletRequest request, HttpServletResponse response) {
request.setAttribute("scope", "r_fullprofile,r_network");
return new RedirectView(Uris.SPRINGLISIGNIN, true);
Вам нужно подключиться к браузеру, чтобы представить запрос POST. –
ОК. Как я могу сделать это без каких-либо действий пользователя на стороне браузера? –