0

嗨,我正在我的应用程序中使用 facebook 登录功能。现在的问题是,当我从 facebook 帐户登录时,我被重定向到带有访问令牌的指定重定向 url。我需要在托管 bean 中获取此访问令牌。我的重定向网址是这样的:localhost:8080/XXXXXX/myholiday.xhtml#access_token=AAAGHUgDJZCg0BAG2I8o

我试过了:

          HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();


    String url = request.getRequestURL().toString();

    System.out.println(url);


    System.out.println( FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("access_token"));


    // Getting request information without the hostname.

    String uri = request.getRequestURI();
    System.out.println(uri);

输出如下: localhost:8080/xxxxxxx/myholiday.xhtml

空值

xxxxxxx/myholiday.xhtml

谁能帮我获取访问令牌?

4

1 回答 1

1

如果在 URL 的哈希部分中传递访问令牌,则无法获取访问令牌,因为哈希部分不会传输到服务器。

您还没有向我们展示您是如何调用 Auth 对话框的——但它有一个response_type可以设置为code或的参数tokencode应该是默认值 - 如果您将其设置为token,请更改它。

(或者,如果您的登录被Authenticated Referrals触发,请将Auth Token Parameter您的应用设置中的设置设置为Query String。)

然后从那里遵循服务器端身份验证流程

于 2012-08-28T12:20:12.733 回答