使用nodejs进行Google身份validation
我正在尝试使用我的node.js服务器访问Google身份validationAPI,但我无法find。 基本上,我希望用户到达我的login页面,点击身份validationbutton,然后服务器将他redirect到Google API,用户允许我的应用程序访问他的数据,然后Google API将用户redirect到我的网站授权令牌。
我已经设置了oauth2所需的url,它似乎工作(如果我把它粘贴到我的网页浏览器,它会redirect到我的谷歌授权页面)。 我看到这个post似乎回答我的问题,但我不怎么处理快递代码部分。
这是我正在使用的代码:
https.get(options, function(res) { var retrieved_data = ''; res.on('data', function(data) { retrieved_data += data; }); res.on('end', function() { // FIXME client_response.writeHead(302, {"Content-Type" : "text/plain", "Location" : res.headers.location}); client_response.end(retrieved_data); }); });
但是这个方法在我的客户端页面上返回一个错误(由我的ajax请求的错误字段引发)。 如果我将HTTP代码更改为200,但没有“位置”信息,则会在客户端上显示一个“暂时移动”页面,其中包含一个将我redirect到Google API授权页面的button。
任何build议?
我build议为这个任务使用现有的模块。 Everyauth是一个模块,不仅允许oauth2访问Google,而且还提供给其他大多数平台。 我正在使用这个来访问我的项目。 它也有express
整合。
您可以在节点工具箱中查找更多的select。 护照可以想到。
正如Burcu Dogan所述,Google已经发布了一个用于访问Google API的官方客户端库。 它可以在这里find: https : //github.com/google/google-api-nodejs-client/
我已经与Passport有良好的结果(不涉及到MSauthentication计划!)。 我最初尝试了各种方法,但IMO的护照更适合expressjs惯例。
有一个Google身份validation提供程序可以使用: http : //passportjs.org/guide/google/
您可能想在这里查看我的Node.JS + Google Calendar项目: https : //github.com/berryboy/google-calendar
我也有一些使用谷歌oauth的例子。
- 如何只允许一个用户注册Stormpath
- 使用API创buildGoogle日历事件不会创build环聊链接
- Google Calendar API Nodejs
- OAuth 2.0 – 访问令牌何时应该刷新令牌?
- 如何将经过authentication的RESTful oAuth 2后端请求发送到Google API
- 使用google-api-javascript-client和node.js
- 如何在callback函数中访问app.get的'response'参数
- (Nodejs)Google oAuth2:缺less必需的参数:grant_type
- 使用node.js Gmail API发送现有草稿