0

我正在尝试将通过 GitHub 进行身份验证的用户保存到 mongodb 中。我正在使用猫鼬。以下是我所拥有的:

var accountSchema = new Schema({
  firstName: String,
  lastName: String,
  email: String,
  githubId: String,
  githubAccessToken: String
});

passport.use(new GitHubStrategy({
    clientID: config.GITHUB_CLIENT_ID,
    clientSecret: config.GITHUB_CLIENT_SECRET,
    callbackURL: "http://127.0.0.1/auth/github/callback",
    scope: ['user', 'public_repo', 'repo', 'gist']
  },
  function(accessToken, refreshToken, profile, done) {
     User.findOrCreate(...) // User is not defined
  });
}));

如何将用户保存到 mongodb,这样他们每次访问该站点时都不必进行身份验证?passport-github 上的示例没有将任何内容保存到数据库中,这是我想要做的吗?有没有这方面的教程?

4

1 回答 1

0

这可能会有所帮助: 如何处理异步。护照和猫鼬的 findOrCreate 方法

基本上,您必须定义一个处理数据库操作并了解必要的猫鼬模式和模型的函数(在您的情况下是 findOrCreate 函数)。

于 2012-09-15T12:56:06.683 回答