Tag: 基本authentication

什么时候是序列化和反序列化的护照方法? 它究竟设置了什么?

我们有两种types的用户,pipe理员和普通用户。 passport.serializeUser(function(user, done) { console.log('Sear'); done(null, user.id); }); passport.deserializeUser(function(id, done) { console.log(id); console.log("Deser"); User.findById(id, function(err, user) { if(err) done(err); if(user){ done(null, user); }else{ vendorUser.findById(id, function(err, user){ if(err) done(err); done(null,user); }); } }); }); Console.log经常(甚至在一个API请求)与文本输出 DESER 这两个function到底做了什么? 详细的答复表示赞赏。 TIA。

通过我的REST API和Facebook进行用户身份validation

我对如何正确安全地使用REST API对用户进行身份validation以及使用其他OAuth 2.0提供程序(例如Facebook,Google等)进行身份validation提供和select有些困惑。 脚本 用户与一个应该使用我的REST API的Web应用程序进行交互。 用户应该能够使用用户名/密码以及使用Facebook等第三方服务login和执行CRUD操作。 我将使用SSL来encryption网站和API的stream量。 没有考虑到第三方login服务,通过研究这里已经提到的各种问题,我想到如图所示的处理用户authentication。 技术和当前的想法 REST API是使用NodeJS和Express使用JS编写的。 通过另一个NodeJS实例提供的WebApp大部分是AngularJS,其中的模板使用了REST API。 我目前的想法是让WebApp处理login序列,并让Facebook使用callback将他们的令牌保存在我的数据库中。 但是这个解决scheme太多的解决方法了! 问题 图像中描述的validation序列是否正确? 上述authentication顺序与OAuth2.0中的资源所有者密码凭证stream程相比如何? 值得使用OAuth2.0而不是它? 我怎样才能通过第三方(即Facebook)整合login? 任何build议或(更好)的例子? 参考 passport.js RESTfulvalidation 用facebooklogin并使用oauth 2.0进行REST API调用的authentication 和其他许多人在这里:)

在跨域中节点js身份validation

我正在处理一个MEAN应用程序,我正在使用Angular 4作为我的项目。 对于身份validation,我已经实施了Passport js Local-strategy 。 而且我正在使用Express-session维护持久Express-session 。 事情一切正常,直到这里。 问题 在相同的域session正常工作,我能够validation用户。 但在跨域,我无法保持会话。 它为跨域中的每个新请求生成一个新的会话ID。 然后我尝试了Passport-jwt但问题是我没有对用户会话的控制。 我的意思是我不能从服务器注销用户,如果他是不活动的,甚至在服务器上重新启动也token不会失效。 所以简单地说,我正在寻找Node js(Express js)中的身份validation解决scheme,我可以在其中pipe理跨域身份validation。 我已经看到了一些博客文章和SO这样的问题,但它没有帮助。 谢谢。 编辑 我应该写我自己的代码来达到这个目的吗? 如果是的话,我有一个计划。 我的基本计划是: 用户将通过login请求发送凭证。 我将检查数据库中的凭据。 如果凭证是有效的,我将生成一个随机令牌并将其保存到数据库,在用户表和我将提供给用户成功响应的相同标记。 现在,每个请求用户都将发送令牌,我将检查数据库中每个请求的令牌。 如果令牌是有效的,那么我将允许用户访问API,否则我将产生401状态代码的错误。 我正在使用Mongoose(MongoDB),所以我可以检查每个请求中的令牌(性能angular度)。 我认为这也是一个好主意。 我只是想要一些build议,不pipe我是否朝着正确的方向思考。 我会得到什么: 应用程序中login的用户数(活动会话)。 如果用户闲置一段时间,我可以注销用户。 我可以pipe理同一用户的多个login会话(通过在数据库中进行input)。 我可以允许最终用户清除所有其他login会话(如Facebook和Gmail优惠)。 任何与授权相关的定制。 编辑2 在这里我分享我的app.js代码 var express = require('express'); var helmet = require('helmet'); var path = require('path'); var favicon = […]

如何向Google Analytics报告API v4进行身份validation

使用Node.js客户端库validationGoogle Analytics报告API v4时遇到了麻烦。 我尝试了所有的方法,从JWT(服务令牌:JSON&P12),API密钥和OAuth 2.0开始,但是我从来没有成功通过authentication。 我在我的开发人员控制台中激活了API,创build了ID并授予了我的Google Analytics(分析)属性和视图的权限。 我成功获取了授权和我的服务帐户的访问令牌,但我不知道如何使用它来validationAnalytics Reporting API v4。 我卡在401错误消息的前面:“该请求没有有效的身份validation凭据”。 我尝试使用JWT模拟用户,但然后服务帐户是未经授权的。 使用Node.js客户端库和JWT身份validation: var google = require('googleapis.js'); var viewID = 'XXXXXXXXX'; // Google Analytics view ID var key = require('service_account.json'); // Service account var jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, ['https://www.googleapis.com/auth/analytics.readonly'], null); var oauth2Client = new google.auth.OAuth2(); jwtClient.authorize(function(err, result) { if (err) { console.log('Unauthorize'); […]

node.js connect-auth应用程序? 例子(用户注册/用户/会话pipe理)

我试图得到node.js的挂起,我正在寻找一个authentication的例子。 希望使用连接authentication和使用哈希和盐的http摘要。 我看了这个,但看起来不太安全: http://nodetuts.com/tutorials/13-authentication-in-express-sessions-and-route-middleware.html#video 有没有人有更好的例子? Mongodb首选! 谢谢! 用户pipe理和身份validation是我正在寻找。

在摩卡和SuperTest中设置基本身份validation

我试图设置一个testing,以validation用户名和密码的基本身份validation阻止的path的用户名和密码。 it('should receive a status code of 200 with login', function(done) { request(url) .get("/staging") .expect(200) .set('Authorization', 'Basic username:password') .end(function(err, res) { if (err) { throw err; } done(); }); });

ldap nodejs主动目录authentication

我目前正在使用node.js中的一个Web应用程序,用户需要login才能访问这些信息。 我想检查用户login名和密码与外部活动目录服务器。 我曾尝试使用node-ldapauth,但我无法得到它的工作(我不知道它是否适用于活动目录,也许只是openLdap)。 有什么build议么?

Hello.js vs Passport.js?

我一直想知道这一点,我做了一些search,但没有发现(除了这个 ,这是不同的)。 我试图澄清Hello.js和Passport.js之间的差异,并找出两者的用例。 从表面上看,除了客户端和节点中间件外,他们似乎都具有类似的function,而且都是模块化的。 我已经做了一些与护照戳,但还没有尝试过Hello.js。 两个图书馆之间的主要区别是什么,哪个用例更喜欢一个图书馆呢?

Passport身份validation在sails.js应用程序中不起作用

我有一个Sails JS应用程序。 我正在尝试使用Passport.js身份validation层sails-generate-auth来设置身份validation 。 我已经按照他们的文档中给出的步骤configuration了我的应用程序。 但是,当我解除我的风帆应用程序,身份validation不起作用。 我能够访问控制器,即使我没有login(这不是redirect到我的login页面)。 我在api/policies/passport.js添加了一个console.log语句,如下所示: module.exports = function (req, res, next) { passport.initialize()(req, res, function () { passport.session()(req, res, function () { res.locals.user = req.user; console.log(req.user); // added by me next(); }); }); }; 现在,当我在login之前或登出之后访问控制器时,其打印undefined 。 但是,当我login时,它打印我的用户数据。 任何想法,为什么它不检查身份validation? 我正在使用本地身份validation策略,我已经注释了所有其他(Twitter,Facebook的…)

如何从basicAuth(Express)注销

我正在尝试使用express来设置Web服务器。 要访问此服务器,用户必须进行身份validation,为此,我使用Express提供的basicAuth()中间件。 它完美的工作,除了我不知道如何注销一旦我login! 我必须closures我的浏览器断开连接,但我想有一个“断开连接”的页面,将redirect到“login”页面(这与用于login的丑陋forms…)。 有没有人有一个想法? 感谢每一个进展 PS:我为我可怜的英语道歉:)