首页 > 解决方案 > 拒绝在框架中显示 Facebook URL,因为它将“X-Frame-Options”设置为“拒绝”

问题描述

我在其中一个 Angular6 应用程序中使用 Facebook Javascript SDK 来集成 FB 登录。如果我登录 Facebook,一切正常。但是当我从 Facebook 注销时,它显示一个错误,上面写着Refused to display 'https://www.facebook.com/connect/ping?client_id=######&domain=######&origin=1&redirect_uri=####&response_type=token%2Csigned_request&sdk=joey&version=v3.1 in a frame because it set 'X-Frame-Options' to 'deny'.. 我已经检查了我的 Facebook 应用程序仪表板中的 oauth URL 设置,并且它正确地拥有了我的域。如何解决这个问题?

我正在使用的代码是:

FB.getLoginStatus(
           (response: any): void => {
               if (response.status === 'connected' && response.authResponse) {
                   FB.api('/me/permissions', (permissions) => {
                       for (let i = 0; i < permissions.data.length; i++) {
                           if (permissions.data[i].status === 'declined' && permissions.data[i].permission === 'email') {
                               emailDeclined = true;
                           }
                       }
                       if (!emailDeclined) {
                           this.userFacebookLogin(response);
                       } else {
                           this.fbLogin('rerequest');
                       }
                   });
               } else {
                 console.log('Not connected');

               }
           },
           true
       );

标签: javascriptangularfacebooksdk

解决方案


尝试将您的应用仪表板设置中的站点 URL 更改为您的开发 URL。这是在花了很长时间被阻止后为我指明了正确方向的答案——https: //stackoverflow.com/a/53325827/3787212


推荐阅读