0

こんにちは、アプリケーションで Facebook のログイン機能を実行しています。問題は、Facebook アカウントからログインすると、指定したリダイレクト URL にアクセス トークンでリダイレクトされることです。マネージド Bean でこのアクセス トークンを取得する必要があります。リダイレクトされた URL は次のようになります: 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に設定できるパラメーターがあります。デフォルトにする必要があります–に設定している場合は、それを変更します。codetokencodetoken

(または、ログインが認証された紹介Auth Token Parameterによってトリガーされる場合は、アプリ設定の設定をに設定しますQuery String。)

次に、そこからサーバー側の認証フローに従います。

于 2012-08-28T12:20:12.733 に答える