播放框架附加#_ = _以通过OAuth2在Facebook认证后重定向?

在使用Play Framework调用OAuth2 :: retrieveAccessToken()后,我正在进行简单的重定向。 我有一些有趣的字符附加到我从未放在那里的URL,所以最终结果如下:

HTTP://本地主机:9000 /#_ = _

#_ = _来自哪里呢? 这是路由文件中的路由定义:

GET / Application.index

这是控制器处理Facebook身份validation的代码片段:

public static void facebookConnect() { OAuth2 facebook = new OAuth2( "https://graph.facebook.com/oauth/authorize", "https://graph.facebook.com/oauth/access_token", "2#############6", "c##############################2" ); if(OAuth2.isCodeResponse()) { OAuth2.Response oauthResponse = facebook.retrieveAccessToken(facebookAuthUrl()); if(oauthResponse.error == null) { //... Somewhere here, something is causing #_=_ to be appended to the URL? Application.index(); } } facebook.retrieveVerificationCode(facebookAuthUrl()); } 

编辑:

根据这个页面 ,Facebook最近更改了他们的API以包含=如果request_uri为空,问题是…我的request_uri已经明确设置?

这是在安全更新后添加的。

来自Facebook开发者博客 :

会话重定向行为的更改

本周,当此字段留空时,我们开始向redirect_uri添加片段#_=_ 。 请确保您的应用可以处理此行为。

也许这些角色来自facebook回调。 我得到了一个FB回调

 localhost:9000?someparams#code=verylongcodefromfacebook 

在请求访问令牌之前,我可以通过清理params来摆脱#。