【问题标题】:FacebookTokenError: Can't Load URL: The domain of this URL isn't included in the app's domainsFacebookTokenError:无法加载 URL:此 URL 的域不包含在应用程序的域中
【发布时间】:2020-07-04 06:24:08
【问题描述】:

FacebookTokenError:无法加载 URL:此 URL 的域不包含在应用程序的域中。为了能够加载此 URL,请将应用程序的所有域和子域添加到应用程序设置中的应用程序域字段。 我和这个人有同样的问题,有人可以帮忙吗?

Passport.js TokenError After Deployment to Production

【问题讨论】:

    标签: node.js authentication passport.js passport-facebook


    【解决方案1】:

    我遇到了同样的问题,终于解决了。

    假设这些是您的项目链接:

    我做了什么和工作:

    1. 为开发者连接到 Facebook
    2. 在“应用程序域”中添加您的域(左侧面板 > 设置 > 基本 > 应用程序域字段):https://www.example.com(“https://”是强制性的)
    3. 进入 Facebook 登录的设置页面(左侧面板 > 产品 > Facebook 登录 > 设置)
    4. 在以下选项中选中“是”:客户端 OAuth 登录、强制 HTTPS、对重定向 URI 使用严格模式
    5. 在同一页面上,在“有效的 OAuth 重定向 URI”中添加 https://www.example.com/api/facebookhttps://www.example.com/api/facebook/callback
    6. 重要提示:在您的 API 中,确保您的 FacebookStrategy callbackURL 包含您的完整回调 URL:

    passport.use(new FacebookStrategy({
     clientID: process.env.FACEBOOK_APP_ID,
     clientSecret: process.env.FACEBOOK_APP_SECRET,
     callbackURL: "https://www.example.com/api/facebook/callback",
    },
     (accessToken, refreshToken, profile, done) => {
      process.nextTick(() => {
       console.log('Facebook success:', profile, accessToken, refreshToken);
    
       return done(null, profile);
      });
     }
    ));

    【讨论】:

    • 只是补充一点,如果你有一个内置的前端 react 和一个后端构建在 nodejs 中,只能在所有 facebook url 中使用后端域。确保您的后端服务器(即 nginx)中有 SSL 证书。
    猜你喜欢
    • 1970-01-01
    • 2021-11-13
    • 2018-08-30
    • 2018-12-09
    • 2016-09-12
    • 2018-08-26
    • 2016-10-05
    • 1970-01-01
    • 2018-04-01
    相关资源
    最近更新 更多