草庐IT

jwt续签

全部标签

node.js - 在 NodeJS 后端使用 JWT 和 Active Directory 身份验证

我正在构建一个由Angular前端和Node.JS后端组成的IntranetWeb应用程序。应用程序需要使用企业ActiveDirectory进行身份验证和授权。我正在考虑如何以安全的方式最好地实现这一点。我打算使用ActiveDirectorynodemodule用于在用户登录时与AD进行实际通信以进行身份​​验证,并检查安全组成员资格以了解某些受限操作等。但是,我不太确定授权后端端点的最佳方式是什么。AD模块不提供任何token/票证,即使我认为Kerberos用于实际的身份验证过程。在我开发的其他经过身份验证的应用程序中,我在用户登录时生成了一个jsonwebtoken,然后在每

javascript - 处理 JWT 过期和 JWT 有效负载更新

我的个人/爱好应用程序有一个基于Koa的Node.js后端。我使用JWTtoken实现了session处理。客户端(AngularJS)在成功登录后获取token并将token存储在某处(当前在sessionStorage但就这个问题而言,这无关紧要)。我有两个问题:当我需要更新JWT代表的用户记录时,比如说,用户打开了双因素身份验证(2FA),所以我让他提供他的电话号码,我想设置这个电话用户记录中的编号。目前,在电话号码成功验证后,我调用后端更新用户记录,并使用更新的用户记录创建一个新的JWTtoken(我从JWTtoken中排除敏感信息,如散列密码,但我想包括客户端使用的电话号码)

node.js - angular-jwt 如何在没有 secret 的情况下解码我的 JWT?

Auth0团队创建了一个名为“angular-jwt”的东西,它有一个jwtHelper类。这个东西成功地解码了本地JWT,没有我在服务器上使用的secret。这怎么发生的?如果它们不安全,那么使用secret对它们进行签名/加密有什么意义?加密token的服务器上的功能(使用“jsonwebtoken”):functioncreateToken(user){returnjwt.sign(_.omit(user,'password'),config.secret,{expiresInMinutes:60*5});}来自客户端的代码:angular.module('sample.home

Node.js passport-jwt 如何在 cookie 中发送 token ?

1)用户通过身份验证后,如何在cookie中设置token,以便用户不会在每个请求中发送用户名密码?2)向客户端发送token的理想方式是什么?apiRoutes.post('/authenticate',function(req,res){User.findOne({email:req.body.email},function(err,user){if(err)throwerr;if(!user){res.send({success:false,message:'Authenticationfailed.Usernotfound.'});}else{//Checkifpassword

javascript - 无法为 JWT 正确设置 Exp 和 Iat

我有点被这个难住了。我正在尝试设置一个有效的JWT。我正在使用带有jsonwebtoken中间件的node.js。我遵循了位于repo(locatedhere)上的文档,但我一直得到错误的Exp和Iat。显然,我想把这件事做对,这样我就不允许JWT过期了。作为测试,我有以下代码:vartoken=jwt.sign({"id":user._id},configGeneral.JWT,{expiresIn:'1h'});vardecoded=jwt.decode(token,configGeneral.JWT);vard1=newDate(decoded.exp);vard2=newDat

node.js - 在初始连接时将 JWT 传递给 Authorization header 中的 Node.js WebSocket

我正在设置一个Node.js服务器来与我的Web应用程序的WebSocket通信。我计划使用JSONWebTokens来限制只有已经通过我们的webapp进行身份验证的用户才能访问。在研究时,我无法找到支持Authorizationheader的客户端设置并在初始连接调用中使用它的Node.js的WebSocket包?我经常看到通过查询参数传递token的建议,这可能不如通过Authorizationheader传递token安全。我错过了什么吗?是否有任何好的、维护良好的WebSocket库允许在客户端设置Authorizationheader,以便我可以防止与服务器的不需要的连接?

node.js - 如何在nodejs中将jwt token 到期时间设置为最大值?

我不希望我的token过期并永远有效。vartoken=jwt.sign({email_id:'123@gmail.com'},"Stack",{expiresIn:'24h'//expiresin24hours});在上面的代码中我已经给出了24小时..我不希望我的token过期。该怎么办? 最佳答案 JWT的exp声明是可选的。如果一个token没有,则认为它没有过期根据https://www.npmjs.com/package/jsonwebtoken的文档expiresIn字段也没有默认值,所以省略它。Therearenod

javascript - 使用 passport-jwt 验证 Node API

我正在尝试使用passport-jwt设置JWT身份验证。我认为我采取了正确的步骤,但测试GET不会成功,我不知道如何调试它。这是我所做的:设置passport-jwtstraightoutofthedoc尽可能的varjwtOptions={secretOrKey:'secret',issuer:"accounts.examplesoft.com",//wasn'tsurewhatthiswas,soileftasdefaultedinthedocaudience:"yoursite.net"//wasn'tsurewhatthiswas,soileftasdefaultedinth

javascript - NodeJs - 从 JWT token 中检索用户信息?

Node和Angular。我有一个MEAN堆栈身份验证应用程序,我在成功登录时设置JWTtoken,如下所示,并将其存储在Controller的session中。通过服务拦截器将JWTtoken分配给config.headers:vartoken=jwt.sign({id:user._id},secret.secretToken,{expiresIn:tokenManager.TOKEN_EXPIRATION_SEC});returnres.json({token:token});authservice.js拦截器(省略requestError、response和responseErr

node.js - 前端和后端的 JWT Token 策略

我正在编写一个应用程序,前端在emberjs中,后端/服务器端在nodejs服务器中。我配置了emberjs,以便用户可以使用第3方Oauth(谷歌、推特、Facebook)登录/注册。我有一个用expressnodejs服务器编写的后端,它托管RESTfulAPI。我没有连接到emberjs的数据库,而且我认为无论如何我都不应该这样做,因为它是严格的客户端代码。我打算使用JWT在客户端和服务器端之间进行通信。当用户使用他们的oauth凭据登录时,我会从提供程序返回一个JSON对象,其中包含uid、名称、登录名、access_token和其他详细信息。我正在努力选择如何处理用户注册的策