Tag: 授权

寻找JWT Auth微服务的例子

我想要使​​用NodeJS,Mongo和JWT构buildauthentication/授权服务。 此服务将是一个微服务,它不仅在允许请求之前处理来自我的API网关的请求,而且还处理可能需要检查身份validation和angular色的其他服务的请求。 我假设所有其他服务将使用此身份validation服务来validationJWT以及angular色等。 希望这张图更好地解释我在找什么。 任何人都可以指向我的资源,可以帮助我学习如何使用NodeJS做到这一点?

everyauth密码示例错误

按照他们的指导,我遵循everyauth的安装: http ://everyauth.com/#installation 我试图运行密码的例子,但在我运行服务器,并在浏览器中去localhost:3000我得到这个错误: Error: \workspace\test\node_modules\everyauth\example\views\home.jade:102 100| label(for='openid_identifier') OpenID Identifier:   101| input(type='text', name='openid_identifier') > 102| input(type='submit') Login 103| – else 104| h2 Authenticated 105| – if (everyauth.facebook) input is self closing and should not have content. at Object.Compiler.visitTag (\workspace\test\node_modules\jade\lib\compiler.js:455:32) at Object.Compiler.visitNode (\workspace\test\node_modules\jade\lib\compiler.js:222:37) at Object.Compiler.visit (\workspace\test\node_modules\jade\lib\compiler.js:209:10) at Object.Compiler.visitBlock (\workspace\test\node_modules\jade\lib\compiler.js:292:12) at Object.Compiler.visitNode (\workspace\test\node_modules\jade\lib\compiler.js:222:37) at Object.Compiler.visit (\workspace\test\node_modules\jade\lib\compiler.js:209:10) […]

Express 4 – 如何parsing签名的cookie?

我正在使用Socket.IO和Express 4进行授权。由于Express.JS不再依赖连接中间件,所以在使用新的cookieparsing器模块parsing带符号的cookiestring时遇到了问题。 假设我需要在Cookie中检查RedisStore中的会话。 这是我从Socket.IO handshakeData得到的: { host: 'localhost:8081', accept: '*/*', connection: 'keep-alive', cookie: 'io=CyMFrlbrFD23UeVbAAAA; connect.sid=s%3ADHWS7fJ8e5mQ35yvrKwUBQXH7oAIoEIz.R0TLqQ93IwotvIxNqdU17IgPDKOBMXnlM9eTZ8e4gFU', … } 如何使用sessionSecretparsingcookie参数我必须在Redis商店中search合适的会话? 以前我用过 sessionID = globals.connect.utils.parseSignedCookie(handshakeData.cookie["connect.sid"], SESSON_SECRET) 并在Redis中用键search client.get "sess:" + String(sessionID), (err, reply) -> … # we found session object with username, success! 现在我不能这样做。 有任何想法吗? 谢谢!

如何使用app.method()来进行授权

我正在尝试使用快速然后next('route')但我没有在如何做到这一点的文件中find很多, 这里提到。 但是并没有解释如何去做 将只在通过使用app.METHOD()或router.METHOD()函数加载的中间件函数中起作用。 我没有得到他们的意思,因为我从来没有用过app.METHOD()之前,无法find关于如何正确使用next('route')文档。 这会工作吗? app.method('*', (req, res, next) => { if(req.user == null) { next(); } else { User.findOne({"_id": req.user.id}, function(err, result) { if(err){ console.log(err); } else { if(stripe.active == false && stripe.trial == false){ res.render('/dashboard/billing'); next('route'); } else { next(); } } }); } }); 这甚至会工作吗? 我猜在那里我搞砸了一些东西。 如果我这样做,那么它会find一个用户,然后检查是is_active和is_trial是假的,如果是这样跳到下一个路线。 我这样做的想法是,使用该网站的任何部分没有login的用户,那么当有login用户,都是假的,我只让他们去/dashboard/billing 。 我build议这样做,以防止尚未付款的用户访问我的应用程序。 我正在testing的路线: […]

Nodejs将angular色连接到数据库表

我有一个用express.js编写的节点应用程序,带有用于身份validation的通行证和用户的连接angular色。 我也有一个组表,我想连接到连接angular色。 有没有关于如何去做这个的任何文件。 我想连接angular色使用我的组表行来分配angular色。

Bluemix – 对象存储 – node.js – pkgcloud – openstack返回401

我试图使用pkgcloud(node.js)openstack与bluemix对​​象存储,但是当我把所有请求的参数作为官方页面,它总是返回401.我尝试使用邮递员所描述的bluemix和它的作品。

在node.js和redis中使用护照进行授权

我正在做护照模块和redis的经典授权,作为node.js中会话的持久性。 会话很好地保存到我的redislogin后,当redis中的会话的ttl很好地更新时,另一个请求login后等等 令我困扰的是当我在redis中手动删除会话时(或者在没有会话的情况下login之前),其他请求(除了login之外)正常传递。 不应该护照自动答复作为unautorized或我们应该这样做手动莫名其妙? 在哪一部分代码中,我应该检查在redis中是否存在与cookie相关的会话。 谢谢,伊万 如果有人需要,这是我的代码: // use local strategy passport.use(new LocalStrategy( function(username, password, done) { var userPromise = userData.findByUsername(username); userPromise.success(function(user){ if (!user) { return done(null, false); } if ( user.password != security.hash(user.salt, password) ){ // check password return done(null, false); } var userCookie = { id : user.id, username : username } return […]

理解smpp node.js上的auth

好的,我在这里挣扎了一下。 这是我想要实现的:创build并运行一个smpp服务器,用于侦听来自我们的短信服务平台的smpp发送请求。 只有我们的平台应该能够连接到这个服务器。 在接收绑定时,授权它是我们的服务,并接收发送请求 只接受来自授权用户/密码的发送请求。 在收到发送请求后,将其发送给我们的消息传递提供者,其中registered_delivery = 1 等待deliver_sm响应让我们知道它已经到达 用消息传递状态更新我们的本地数据库。 我的问题 – 我的服务似乎让任何做未经授权的submit_sm。 这里有一些粗糙的,难看的testing代码,我已经放在一起了。 我是否构造错误? 请记住,我对smpp和node.js都很陌生,所以我可能会疯狂地偏离轨道。 var smpp = require('smpp'); // create listener for incoming connections from our server var server = smpp.createServer(function(session) { // create outbound connection to provider to pass messages on var outsession = smpp.connect('smpp.provider.net', 8101); outsession.bind_transceiver({ system_id: 'myaccount', password: 'abcdef' }, […]

Socket.IO授权不刷新

在第一次调用本地主机时,它发送index.html并尝试授权。 授权当然是不被批准的。 在用户完成后,在index.html中填写一个表单“app.post('/ login'…”被执行。 我现在想要的是,login后的授权将被执行一次,客户端与Socket.IO连接。 那可能吗? 或者我必须在客户端login后刷新页面? app.post('/login', function(req, res) { req.session.status = { test:111 }; res.end(); }); app.get('/', function(req, res){ res.sendfile(__dirname + '/index.html'); }); io.set('authorization', function(req, callback) { console.log("hi"); // check if user is logged, if yes connect with socket.io }); io.sockets.on('connection', function(socket){ });

产品生态系统中的身份validation和授权

我有一个由多个产品组成的产品生态系统,例如:angular度应用程序,网站和混合应用程序,所有这些应用程序都由节点后端供电。 所以,现在我想为整个生态系统添加一个单一的authentication和授权,也需要模块化和可扩展性。 另外,我正在遵循三层架构,即: [APPLICATION] – > [API] – > [DB] ,只有可访问数据库的API层。 现在我也希望身份validation和授权是另一个应用程序在生态系统,可以插入到其他应用程序和使用没有太多的设置。 另外,由于它是(身份validation和授权模块)另一个应用程序,我不希望它直接访问数据库,我希望它做API调用,再加上它不应该使用像auth0第三方authenticationscheme。 重要的是除了身份validation和授权模块之外的应用程序都不应该有任何身份validation相关的逻辑。 基本上这应该是模块比插入时允许身份validation和授权和无缝集成。 这个设置是可能的吗? 如果是这样,我该怎么办呢? 如果不是authentication和授权在其他生产级生态系统中是如何实现的? 提前致谢!