Java Spring社交访问令牌

Java Spring社交访问令牌,java,facebook,spring-social,Java,Facebook,Spring Social,嗨,2,所有我在教程中认识的人都很喜欢。但我已停止获取访问令牌。这是我重定向到facebook的代码 @RequestMapping(method = RequestMethod.GET) public void process(/* * @ModelAttribute("user") User user, BindingResult * result Model model,

嗨,2,所有我在教程中认识的人都很喜欢。但我已停止获取访问令牌。这是我重定向到facebook的代码

@RequestMapping(method = RequestMethod.GET)
public void process(/*
                     * @ModelAttribute("user") User user, BindingResult
                     * result Model model,
                     */HttpServletRequest request, HttpServletResponse response) {
    FacebookConnectionFactory connectionFactory = new FacebookConnectionFactory("240362226072898", "657532dea6d091ab44a56668c47cca15");
    OAuth2Operations oauthOperations = connectionFactory.getOAuthOperations();
    OAuth2Parameters params = new OAuth2Parameters("http://localhost:8080/shop/facebook");
    String authorizeUrl = oauthOperations.buildAuthorizeUrl(GrantType.IMPLICIT_GRANT, params);

    try {
        response.sendRedirect(authorizeUrl);
        LOG.error("ALL WORKING FINE>>>");
    } catch (IOException e) {
        LOG.error("Errorrrrr" + e);
    }
然后在另一个控制器中。我收到了一个URL,但在那里我找不到任何参数,因为在URL的末尾我看到了#。像

如果我剪下“#”并粘贴“?”在那里一切都会好起来

这是我的控制器,我在这里接收这个url

@Controller
@RequestMapping(value = "/facebook")
public class FacebookController {
    private static final Logger LOG = Logger.getLogger(FacebookController.class);

    @RequestMapping(method = RequestMethod.GET) 
    public void getAuthorisation(@RequestParam String access_token, HttpServletResponse response, HttpServletRequest request) {

        LOG.error("Access token"+access_token);
/*      LOG.error(request.getAttribute("access_token"));
        LOG.error(request.getParameter("access_token"));
*/      
    }
}

使用Javascript从中提取访问令牌

有关以下内容,请参阅文档:

如果用户选择授权您的应用程序,则该用户将 重定向到:

您的\u重定向\u URI \u访问\u令牌=用户\u访问\u令牌&过期\u in=在\u令牌过期之前的\u秒数\u

请注意,与 在服务器端流中,访问令牌被传递到您的重定向uri url片段和so仅可通过 Javascript


我想他正在寻找如何访问
FacebookController
中的访问令牌。没错!因为我无法从带有“#”的URL检索access_令牌。它不将access_令牌视为参数。我想问的是,控制器中是否存在问题,或者可能有些配置没有作为参数发送到服务器端,因为它们只是客户端(浏览器)。使用JavaScript来提取它。也许你应该考虑服务器端流。之后我什么也收不到#-甚至在JAVA=(…我对@FacebookAccesToken注释很感兴趣。有人对它感兴趣吗?是的,我也听说过它..但面临着和lgor一样的问题..:(我对它很感兴趣..但仍然没有得到任何服务器端代码..有什么帮助吗?
@Controller
@RequestMapping(value = "/facebook")
public class FacebookController {
    private static final Logger LOG = Logger.getLogger(FacebookController.class);

    @RequestMapping(method = RequestMethod.GET) 
    public void getAuthorisation(@RequestParam String access_token, HttpServletResponse response, HttpServletRequest request) {

        LOG.error("Access token"+access_token);
/*      LOG.error(request.getAttribute("access_token"));
        LOG.error(request.getParameter("access_token"));
*/      
    }
}