Facebook登录Yielding URL:已阻止(未列入白名单)

时间:2018-04-17 06:02:03

标签: angular facebook oauth-2.0 facebook-javascript-sdk

我注册了Facebook社交登录,我正在使用API​​的v2.10。

我可以让登录窗口打开就好了,但是我收到以下错误。

  

网址被阻止:此重定向失败,因为重定向URI不是   在应用程序的客户端OAuth设置中列出白名单。确保   客户端和Web OAuth登录已启用,并将所有应用域添加为   有效的OAuth重定向URI。

我已经尝试了一切让它运转起来,但似乎无法破解这个问题。

**环境

我尝试了什么:

  • 添加重定向uri的所有可能变体。包括在窗口中列出的uri。 (&redirect_uri=https://staticxx.facebook.com/connect/xd_arbiter/r/FdM1l_dpErI.js?version=42#cb=f2332406d58ffb
  • This issue,添加了一个主机文件配置以重定向到非本地主机
  • 试图追踪任何调试信息。试过网络检查员,看看它是否到达任何地方等等。
  • 通读this issue
  • 中的snark
  • Consulted this article
    • 在顶级应用设置下双重检查域名。

显示回调网址的所有变体的图片,包括输入到主机文件中的虚拟域以及从窗口重定向uri(staticxx ....)和实际的localhost回调网址。 Fb App Settings

主机文件 127.65.43.21 scormify.app(也是netsh detailed here

FB SDK Init 仅限FYI,不要认为这与它有任何关系。

```   window.fbAsyncInit = function(){     FB.init({       appId:'xxx',       cookie:是的,       xfbml:true,       版本:'v2.10'     });

FB.AppEvents.logPageView();

}; ```

Angular 5 Svc Code 我认为这也不是问题,仅限FYI。

  linkFb() {
    return FB.login(result => {
      if (result.authResponse) {
        return this.http.post(`https://localhost:5000/api/v1/account/link/fb/callback`, { access_token: result.authResponse.accessToken }).map((res: ApiResponse) => res)
      }
    }, { scope: 'public_profile,email' });
  }

路线

  .post(
    '/account/link/fb',
    passport.authenticate('facebook-token', { session: false }),
    account.linkFb
  )
  .get('/account/link/fb/callback', account.linkFbCb)

护照策略

  passport.use(
    new FacebookStrategy(
      {
        clientID: config.FACEBOOK_APPID,
        clientSecret: config.FACEBOOK_SECRET,
        callbackURL: `https://localhost:5000/api/v1/account/link/fb/callback`,
        profileFields: ['name', 'email', 'link'],
        passReqToCallback: true
      },
      (req, accessToken, refreshToken, profile, done) => {
        console.log(req);
        console.log(profile);
        // make profile;
        // make provider
        //store.upsertUser();
      }
    )
  );
};

0 个答案:

没有答案