首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户通过google帐户注册后,将用户数据保存在MongoDB中

用户通过google帐户注册后,将用户数据保存在MongoDB中
EN

Stack Overflow用户
提问于 2022-09-06 09:52:16
回答 1查看 137关注 0票数 0

我正在开发一个应用程序,允许用户在使用他们的Facebook或Google ID进行身份验证后访问该网站。,这将由前端完成,在后端前端端将只发送访问令牌,如下所示:ya29.a0AVA9y1tHwvchD95jJmDNMzKkW7P9nIAyvHX58AY-bC_Dy_-7lhXkrXpfe8iRXIrLHbDKZRFmzphfMceFH3di6X_2-_FcwiXa8GvDwOmYwwzgt1MUETzlFRrcnuWDDbAsa2Yj00BFDyAqK6fuO8smUYmyXw1taCgFRDTASAQASFQE65dr8E1cHOK0krpI8Efn0d9eXDg7852

现在,基于这个访问令牌,如何获取该用户的详细信息并将其保存到数据库中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-06 10:36:04

您可以使用google节点API客户端库检索用户配置文件。在这种情况下,请检索访问令牌和刷新令牌作为https://www.googleapis.com/auth/userinfo.profile的作用域。示例脚本如下所示。使用此示例时,请设置访问令牌。

代码语言:javascript
复制
var google = require('googleapis').google;
var OAuth2 = google.auth.OAuth2;
var oauth2Client = new OAuth2();
oauth2Client.setCredentials({access_token: 'ACCESS TOKEN HERE'});
var oauth2 = google.oauth2({
  auth: oauth2Client,
  version: 'v2'
});
oauth2.userinfo.get(
  function(err, res) {
    if (err) {
       console.log(err);
    } else {
       console.log(res);
       /*WRITE SIMPLE MongoDB INSERT LOGIC HERE*/
        db.users.insert(res)

    }
});

根据上述逻辑,您将能够获得用户详细信息并将其插入MongoDB中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73620022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档