Java Spring社交访问令牌
嗨,2,所有我在教程中认识的人都很喜欢。但我已停止获取访问令牌。这是我重定向到facebook的代码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,
@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"));
*/
}
}