如何在 MySQL 中使用passport-facebook?

Posted

技术标签:

【中文标题】如何在 MySQL 中使用passport-facebook?【英文标题】:How to use passport-facebook with MySQL? 【发布时间】:2016-09-01 01:55:08 【问题描述】:

我在使用 mysql 设置 passport-facebook 时遇到困难。

我到处都能找到 mongodb,使用 mongodb 可以将 profile._json 对象发布到数据库中,但使用 MySQL 你不能。

passport.use(new FacebookStrategy(
clientID : "",
clientSecret : "",
callbackURL : ""
), function (accessToken, refreshToken, profile, done)

    db.query("SELECT * FROM users WHERE facebook_id = ?", [profile.id], function(err, user)
        if (err)
            return done(err);
        
        else if (user.length == 0)


            var name = profile.displayName;
            var email = profile.emails[0].value;
            var username = profile.username;
            var provider = "facebook";
            var facebook = profile._json;

            db.query("INSERT INTO users (name, email, username, provider, token) VALUES (?, ?, ?, ?, ?)",
            [name, email, username, provider, /* profile._json?? */], function(err)

                )

        
        else
            return done(err, user);
        

    );
);

profile._json 需要保存的内容和它们的类型,以便我可以在 MySQL 数据库中创建字段?

是否有可能我应该设置 mongodb 并将该信息保存在那里,其余的使用 MySQL 数据库?我还在为我的 API 使用谷歌身份验证。

【问题讨论】:

【参考方案1】:

试试这个

let user= Facebook_ID: profile.id, First_Name: profile.displayName, FB_Private_Chat_ID: '000001100';

  mysqlconnection.query('INSERT INTO users SET ?', user, (err, res) => 
    if(err) throw err;

    console.log('Last insert ID:', profile.id);
  )

【讨论】:

以上是关于如何在 MySQL 中使用passport-facebook?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MySQL 存储过程中使用动态 SQL

如何使用 typeorm 实体在 mysql 中使用现有表?

如何在mysql函数中使用别名

如何在 MySQL 中使用注册词

如何在 MySQL 中使用passport-facebook?

如何在 Grafana 的 MySQL 查询中使用 like?