如何在同一个窗口而不是弹出窗口中打开facebook登录对话框?

tom*_*her 6 facebook login popup

我有网站,用户可以使用他们的Facebook帐户登录.我使用javascript FB.login方法显示Facebook登录对话框.默认情况下,它会触发显示新的弹出窗口.许多用户在其浏览器中禁止使用弹出窗口.如何强制Facebook登录对话框显示在用户点击登录按钮的同一窗口中?我可以看到它在这个网站上有效

当用户单击"登录"按钮时,他将被重定向到Facebook.登录FB后,他被重定向回原始网站.一切都在同一个浏览器标签中.

DMC*_*MCS 15

请参阅:https: //developers.facebook.com/docs/reference/dialogs/oauth/

而不是使用FB.login(),只需添加一个链接到您的页面,如下所示:

<a href="https://www.facebook.com/dialog/oauth/?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URL&state=YOUR_STATE_VALUE&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES">LOGIN!</a>

Facebook然后会将用户登录并将其重定向回您的URL,并在查询字符串上添加一些好东西:

YOUR_REDIRECT_URI?
    error_reason=user_denied
   &error=access_denied
   &error_description=The+user+denied+your+request.
   &state=YOUR_STATE_VALUE
Run Code Online (Sandbox Code Playgroud)