具有通行证-google-oauth2身份验证和授权的Node.js

时间:2018-12-12 04:40:58

标签: node.js google-calendar-api passport-google-oauth2

我对全栈编程还很陌生,但是我设法建立了一个节点应用程序,该应用程序使用passport-google-oauth2来通过Google验证我的用户。这按预期工作,到目前为止,我没有任何问题。我正在获取Google信息,可以通过req.user访问。

在我的身份验证请求中,我已将Google日历纳入范围。从这里开始,我想做的就是将事件推送到用户的Google日历上。但是,我还没有找到一种方法来做到这一点。 Google的示例应用程序还不够清晰,无法识别我如何从登录名中获取信息,并以某种方式缓存该信息,从而允许我访问用户的Google日历。这是我从Google身份验证返回的重定向路由。

    app.get(
  "/auth/google/callback",
  passport.authenticate("google", { failureRedirect: "/", session: true }),
  (req, res) => {
    console.log("req.query.code: ", req.query.code);
    db.Person.findOne({ where: { email: req.user.email } }).then(function(dbData) {
      if (dbData !== null) {
        // if user exist, send to index route
        res.redirect("/index");
      } else {
        // if user does NOT exist, send to profile route to create profile
        res.redirect("/new-user");
      }
    });
  }
);

我认为我已经从文档中充分认识到req.query.code很重要,但是我不确定该如何处理,如果有的话,其次,我如何使用该信息来创建一个Google日历上的活动。

有人可以向我推荐一些有用的链接,以描述后续步骤吗?

谢谢。

0 个答案:

没有答案