1 package de.juplo.yourshouter;
4 import javax.inject.Inject;
5 import org.springframework.social.connect.ConnectionFactoryLocator;
6 import org.springframework.social.connect.ConnectionRepository;
7 import org.springframework.social.connect.web.ConnectController;
9 import org.springframework.social.facebook.api.Facebook;
10 import org.springframework.social.facebook.api.Permission;
11 import org.springframework.stereotype.Controller;
12 import org.springframework.ui.Model;
13 import org.springframework.web.bind.annotation.RequestMapping;
14 import org.springframework.web.bind.annotation.RequestMethod;
15 import org.springframework.web.context.request.NativeWebRequest;
16 import org.springframework.web.servlet.view.RedirectView;
20 * Controller, that handles requests to the root of the application.
25 @RequestMapping("/permissions.html")
26 public class PermissionsController extends ConnectController
28 private final Facebook facebook;
32 public PermissionsController(
33 ConnectionFactoryLocator connectionFactoryLocator,
34 ConnectionRepository connectionRepository,
38 super(connectionFactoryLocator, connectionRepository);
39 this.facebook = facebook;
44 public String connectionStatus(NativeWebRequest request, Model model)
46 List<Permission> permissions = facebook.userOperations().getUserPermissions();
47 model.addAttribute("permissions", permissions);
51 @RequestMapping(method=RequestMethod.POST)
52 public RedirectView connect(NativeWebRequest request)
54 return super.connect("facebook", request);
58 protected RedirectView connectionStatusRedirect(
60 NativeWebRequest request
63 return new RedirectView("/permissions.html", true);