使用 spring 用于 linkedin 集成的控制器内容

content of controller for linkedin integration using spring

如果用户对应用程序进行身份验证,我想访问 linkedin 数据。我已经看了几个例子,但我仍然无法理解我应该为这个任务在控制器中写什么。

我想要的是我的控制器应该连接到 linkedin 登录页面,然后用户将输入详细信息。之后该应用程序将获取数据并且该页面将重定向到另一个欢迎页面。

这是我的登录控制器。

@Controller
public class LoginController {
 
 @RequestMapping(value="/login", method = RequestMethod.GET)
 public ModelAndView welcome() {
  ModelAndView mav = new ModelAndView();
  mav.setViewName("loginPage");
  return mav;
 }
}

但是对于下面的控制器,我应该如何处理?

@Controller
public class LinkedInController {
 
 private LinkedIn linkedin;
 private ConnectionRepository connectionRepository;
 

}

提前致谢!!!

我不想让您回到教程的世界,但我发现 Quick Start 很有用。您的部分困惑听起来与您如何可视化流程有关:

what i want is my controller should connect to linkedin login page and then user will enter the details.

他们对 Controller 责任的描述并不完全是这样。您只需使用 API 绑定并执行您需要执行的任何工作。那时你已经让他们登录了 LinkedIn。

发件人:Spring Social Quick Start - Step 4 Invoke APIs

@Controller
public class HomeController {

    private final Facebook facebook;

    @Inject
    public HomeController(Facebook facebook) {
      this.facebook = facebook;
    }

    @RequestMapping(value="/", method=RequestMethod.GET)
    public String home(Model model) {
      List<Reference> friends = facebook.friendOperations().getFriends();
      model.addAttribute("friends", friends);
      return "home";
    }
}

Spring Social 的工作是处理与 LinkedIn 的连接,他们使用快速入门的 ProviderSignInController (see Steps 2 - Configure Spring Social and 3 - Create Views 来完成)。

Add a ProviderSignInController that allows users to sign-in using their provider accounts:

@Bean
public ProviderSignInController providerSignInController() {
  return new ProviderSignInController(connectionFactoryLocator(), usersConnectionRepository(), new SimpleSignInAdapter());
}

Create a "signin" view that allows users to sign-in with their provider account:

<%@ page session="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<form action="<c:url value="/signin/facebook" />" method="POST">
   <button type="submit">Sign in with Facebook</button>
</form>

他们创建的 ProviderSignInController 将自身映射到 /signin/{providerId} 请求,然后视图允许用户访问这些请求。

我再次强调:查看快速入门。它几乎完全符合您所描述的需求:社交登录,完成后会重定向到显示用户 Facebook 好友的欢迎页面。