5

我已经为Heroku部署了一个应用程序,但是一旦您单击“使用 facebook 登录”,您就会被重定向到http://localhost:3000/# =。我尝试了以下方法(第一个是目前的位置):

  passport.use(new FacebookStrategy({
    clientID: FACEBOOK_APP_ID,
    clientSecret: FACEBOOK_APP_SECRET,
    callbackURL: "http://localhost:3000/auth/facebook/callback"
  },

  function(accessToken, refreshToken, profile, done) {
    process.nextTick(function () {
      return done(null, profile);
    });
  }
));

但是当我部署使用:

passport.use(new FacebookStrategy({
    clientID: FACEBOOK_APP_ID,
    clientSecret: FACEBOOK_APP_SECRET,
    callbackURL: "/auth/facebook/callback"
  },

或者

passport.use(new FacebookStrategy({
    clientID: FACEBOOK_APP_ID,
    clientSecret: FACEBOOK_APP_SECRET,
    callbackURL: "https://fivemincatchup.herokuapp.com/auth/facebook/callback"
  },

它指向 facebook 并出现以下错误:

应用程序配置不允许给定 URL:应用程序的设置不允许一个或多个给定 URL。它必须与网站 URL 或画布 URL 匹配,或者域必须是应用程序域之一的子域。

我错过了一些非常明显的东西吗?

4

1 回答 1

5

您是否将回调 URL 添加到应用程序的设置中?您必须在 facebook 开发者应用程序设置中添加站点 URL,以允许 facebook 对任何特定网站进行回调。

应位于站点 URL 的基本设置或“有效 OAuth 重定向 URI”的高级设置下

(另见这里

于 2015-05-25T13:57:07.437 回答