Tag: jwt

bcrypt-node抛出错误“没有给出callback函数”

我正在使用JWT身份validation创build用户注册。 而我正在使用bcrypt-node模块进行密码哈希和腌制。 useraModel.js var mongoose =require('mongoose'); var Schema =mongoose.Schema; var bcrypt =require('bcrypt-node'); var UserSchema=new Schema({ name:{type:String, unique:true, required:true}, password:{type:String, required:true} }); UserSchema.pre('save', function (next) { var user = this; if (this.isModified('password') || this.isNew) { bcrypt.genSalt(10, function (err, salt) { if (err) { return next(err); } bcrypt.hash(user.password, salt, function (err, hash) { if (err) { return […]

天青nodejs网站/ webapp支持JWT令牌生成和validation的encryptionalgorithm

我正在开发部署为azure色网站的nodejs应用程序。 我使用JWT令牌进行使用jws的身份validation。 这使用下面的节点encryption模块。 我创build了一个自签名的RSA256证书,并使用我的应用上传了这些文件。 应用程序使用私钥创build了jwt令牌,没有问题。 但是,当它从客户端请求validationjwt令牌时,它会抛出以下exception; exception详细信息:System.IdentityModel.SignatureVerificationFailedException:IDX10503:签名validation失败。 键试过:“System.IdentityModel.Tokens.X509AsymmetricSecurityKey System.IdentityModel.Tokens.X509AsymmetricSecurityKey Azure使用iisnode进行iis-node集成。 当我在Windows 2008 R2服务器上本地运行此应用程序时,我的应用程序validation该令牌没有任何问题。 我通过命令行节点运行了一个testingjavascript文件,通过visual studio在线编辑器来testing令牌的创build和validation。 这个testing工作正常,这表明实际的主机是能够处理解密。 我的问题; 1)有没有人在azure色的节点JS应用上使用JWT? 2)你遇到过这个例外吗? 提前致谢。

jwt on node – 客户端如何将令牌传递回服务器

好的。 我想我没有理解基于令牌的validation的基本部分。 我正在使用快递节点,并使用jwt,以防止访问我的网站,如果你还没有login。我可以在login页面上创build一个令牌,我可以发回给客户端,并将其存储在localStorage / Cookie 。 现在,如果用户想要导航到另一个页面,他们将input一个url,并触发获取请求。 在我作为获取请求的一部分加载页面之前,如何从localStorage / cookie访问该令牌并将其传递给服务器。 我的假设是,应该有一种方法将令牌传递给服务器 – 在中间件中截取它 – 如果令牌是合法的,则加载页面;如果令牌未被正确validation,则redirect到login页面。 在发布请求时,这可能会简单得多,因为您可以在加载页面之后获取令牌并将其作为ajax调用的一部分传递。 我已经看到引用包括令牌作为请求头(授权承载)的一部分。 我认为这只适用于后,因为如果你能够设置头参数“全球”,那么你为什么要打扰存储在客户端在cookie / localStorage。 所以你可以看到我对工作stream有点困惑。 好像我在某种程度上反对谷物。 任何清晰度将不胜感激。

如何使用Express和oAuth2让用户在Angular的多个设备上login?

我试图让用户login到多个设备相同的用户名。 在后端,我们使用oAuth2 JWT令牌通过oauth2orize npm包使用node / express rest api。 目前,我们的后端身份validation工作的方式是用户login,发送一个JWT令牌和一个JWT刷新令牌。 当用户注销时,令牌无效。 我们遇到的问题是用户将在一台计算机上login,然后login到另一台计算机上的相同帐户。 当第二次login发生时,给用户一个新的令牌和刷新令牌。 现在,当用户返回第一台计算机时,刷新令牌无效,导致用户退出。 一个解决办法是我们试图坚持sessionId在一个cookie,但Angular似乎返回一个新的sessionId每个请求。 以下是请求的一个例子。 — session — l3s-kZCEUaz8TYhElVtARIwbl6PKTm_o { cookie: { path: '/', _expires: Fri Aug 05 2016 00:23:44 GMT+0000 (UTC), originalMaxAge: 31449600000, httpOnly: true } } — session — hN961RAc2YSlmzngr3R6zXuJnp4cFF_P { cookie: { path: '/', _expires: Fri Aug 05 2016 00:23:46 GMT+0000 (UTC), […]

Websocket握手,JWT了解安全

嗨,我试图了解这个握手如何工作和智威汤逊。 所以我有一些网页的东西,一些用户可以去login自己。 然后我创build一个JWT,所以当我向服务器请求时,我使用这个令牌来validation用户。 我想创build和websoket连接,并使用这个令牌。 所以我做了这样的服务器 var server = app.listen(3000, function(){ console.log('Server listening on', 3000); }); require('./websockets').connect(server); 在那个文件websockets.js我有 var _ = require('lodash') var ws = require('ws') var url = require('url') var jwt = require('jwt-simple') var config = require('./config') var clients = []; exports.connect = function(server){ var wss = new ws.Server({server:server}); wss.on('connection', function(ws){ var location = url.parse(ws.upgradeReq.url, […]

Angular Node JWT令牌authentication和页面redirect

我正在从https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/学习JWT令牌authentication。 我试图实现它。 它工作正常。在这里,authentication后控制返回到相同的页面。 我的问题是我们如何可以redirect到客户端控制器的新的HTML页面(限制资源,of course!)? 我曾尝试过一些类似的东西 $scope.submit = function () { $http.post("http://localhost:3000/authenticate?uname=" + $scope.username + "&pwd=" + $scope.password + "") .success(function (data, status, headers, config) { $window.sessionStorage.token = data.token;// Save jwt in the sessionStorage $scope.isAuthenticated = true; var encodedProfile = data.token.split('.')[1]; var profile = JSON.parse(url_base64_decode(encodedProfile)); console.log('encoded profile is ' + profile); window.location.href="api/admin.html"; }) .error(function (data, […]

Passport + JWT + Socket.IO身份validation

我正在寻找在我的KOA NodeJS应用程序中使用Socket.io实现JWT身份validation的最佳方向。 我在socketio + jwt上find了一个很好的回购 ,但是作者并没有使用护照也没有使用koa。 我想我已经有了一个好的开始,但是我想知道在使用智威汤逊之后,护照是否过分了。 以下是我的代码。 Koa.js import koa from 'koa'; import router from 'koa-router'; import json from 'koa-json'; import bodyParser from 'koa-bodyparser'; import passport from './passport'; import session from './session'; import { config } from './env/env'; export class Koa { constructor(){ this.app = koa(); this.initMiddleware(); } initMiddleware(){ this.app.use(json()); this.app.use(bodyParser()); this.app.keys = config.secret; […]

不能得到hapi的回复标题工作

我试图让智威汤逊工作,我正在发送令牌回客户的困难。 我试图发送它在头像例子: 例如: jwt res.writeHead(200, { 'content-type': 'text/html', 'authorization': token}); 我正在尝试类似于: reply('Here is token').header({ 'content-type': 'text/html', 'authorization': token}).code(200); 但是我得到一个错误 TypeError:未捕获错误:key.toLowerCase不是函数 不知何故,我找不到如何做到这一点的例子。 我想将令牌发送回头部的“客户端应用程序”,但无法find与hapi做的方式。 任何人有任何线索?

用于file upload的JWT令牌和Multer(节点)

我需要一些帮助,弄清楚如何使这个工作 – 我已经testing,并有我的'/用户'路线JWT身份validation和SSL工作。 我试图安全地允许用户上传audio文件,也使用JWT和SSL路由。 authentication中间件工作,而multer工作,让我上传文件,当我注销authentication中间件。 但是,当我离开中间件时,上传的文件是在我的系统上创build的,但文件无法正确上传,我得到一个404错误。 谢谢你的帮助! server.js(主文件) var express = require('express') , app = express() , passport = require('passport') , uploads = require('./config/uploads').uploads , user_routes = require('./routes/user') , basic_routes = require('./routes/basic') , jwt = require('jwt-simple'); // get our request parameters app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); // Use the passport package in our application app.use(passport.initialize()); […]

基于令牌的身份validation和在Nodejs中的Facebook身份validation

我正在使用MEAN堆栈。 前端和后端是独立的项目。 我的后端nodejs REST API使用基于令牌的身份validation(用户使用用户名和密码凭据login,然后服务器将生成一个JWT进一步请求。)我也有一个中间件来validation令牌。 现在我需要允许用户使用Facebooklogin,我改变基于令牌的身份validation之前使用passport-facebook策略。 这是基于会话的authentication。 那么当用户通过Facebook成功login时,如何生成令牌? 使用带有令牌的Facebook身份validation在npm中是否有任何特定的包? 谢谢。