Questions tagged «jwt»

JSON Web令牌(JWT,发音为“ jot”)是一种新兴的基于令牌的身份验证类型,用于基于空间的环境(例如HTTP授权标头)中。

11
JWT(JSON Web令牌)自动延长有效期
我想对我们的新REST API实施基于JWT的身份验证。但是,由于在令牌中设置了有效期,是否可以自动延长有效期?我不希望用户在此期间正在使用该应用程序的情况下,每隔X分钟登录一次。那将是巨大的用户体验失败。 但是,延长有效期会创建一个新令牌(旧令牌在过期之前仍然有效)。在每个请求之后生成一个新令牌对我来说听起来很愚蠢。当多个令牌同时有效时,听起来像一个安全问题。当然,我可以使用黑名单来使旧的使用过的无效,但我需要存储令牌。JWT的好处之一是无需存储。 我发现Auth0如何解决它。它们不仅使用JWT令牌,而且还使用刷新令牌:https : //docs.auth0.com/refresh-token 但是同样,要实现此功能(不使用Auth0),我需要存储刷新令牌并保持其过期。那么,真正的好处是什么?为什么不只有一个令牌(而不是JWT)并在服务器上保留到期时间? 还有其他选择吗?使用JWT是否不适合这种情况?

22
无效的JSON Web令牌
对于我正在研究的一个新的node.js项目,我正在考虑从基于cookie的会话方法切换(这意味着,将ID存储到用户浏览器中包含用户会话的键值存储中)到使用JSON Web令牌(jwt)的基于令牌的会话方法(无键值存储)。 该项目是一个利用socket.io的游戏-在单个会话(web和socket.io)中会有多个通信渠道的情况下,基于令牌的会话将非常有用。 如何使用jwt方法从服务器提供令牌/会话无效? 我还想了解我应该用这种范例寻找哪些常见(或不常见)的陷阱/攻击。例如,如果此范例易受与基于会话存储/ Cookie的方法相同/不同类型的攻击的影响。 所以,说我有以下内容(适应了this和this): 会话商店登录: app.get('/login', function(request, response) { var user = {username: request.body.username, password: request.body.password }; // Validate somehow validate(user, function(isValid, profile) { // Create session token var token= createSessionToken(); // Add to a key-value database KeyValueStore.add({token: {userid: profile.id, expiresInMinutes: 60}}); // The client should save …

9
JWT和OAuth身份验证之间的主要区别是什么?
我有一个使用JWT的无状态身份验证模型的新SPA。我经常被要求将OAuth用于身份验证流程,例如要求我为每个请求发送“承载者令牌”,而不是简单的令牌头,但是我确实认为OAuth比简单的基于JWT的身份验证复杂得多。主要区别是什么,我应该使JWT身份验证表现得像OAuth吗? 我还使用JWT作为XSRF-TOKEN来防止XSRF,但被要求将它们分开?我应该把它们分开吗?在这里的任何帮助将不胜感激,并可能会导致为社区制定一套准则。

7
如果您可以解码JWT,它们如何安全?
如果获得JWT并且可以解码有效负载,那么这种安全性如何?我不能只是从标头中提取令牌,解码并更改有效负载中的用户信息,然后使用相同的正确编码机密将其发送回去吗? 我知道它们必须是安全的,但是我真的很想了解这些技术。我想念什么?

5
ASP.NET Web API的JWT身份验证
我试图在我的Web API应用程序中支持JWT承载令牌(JSON Web令牌),但我迷路了。 我看到了对.NET Core和OWIN应用程序的支持。 我目前在IIS中托管我的应用程序。 如何在我的应用程序中实现此身份验证模块?有什么方法可以使用<authentication>与使用表单/ Windows身份验证类似的配置?

4
RS256 vs HS256:有什么区别?
我正在使用Auth0在我的Web应用程序中处理身份验证。我正在使用ASP.NET Core v1.0.0和Angular 2 rc5,而我一般对身份验证/安全性了解不多。 在ASP.NET Core Web Api的Auth0文档中, JWT算法有两个选择:RS256和HS256。这可能是一个愚蠢的问题,但: RS256和HS256有什么区别?有哪些用例(如果适用)?

2
JWT的最佳HTTP授权标头类型
我想知道JWT令牌最合适的AuthorizationHTTP标头类型是什么。 可能是最受欢迎的类型之一Basic。例如: Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== 它处理两个参数,例如登录名和密码。因此,它与JWT令牌无关。 另外,例如,我听说了Bearer类型: Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ 但是,我不知道它的含义。与熊有关吗? 在HTTP Authorization标头中是否有使用JWT令牌的特定方法?我们应该使用Bearer还是应该简化并仅使用: Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ 谢谢。 编辑: 或者,也许只是一个JWTHTTP标头: JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
228 http-headers  jwt 


4
如果JWT被盗怎么办?
我正在尝试为我的RESTful API使用JWT实现无状态身份验证。 AFAIK,JWT基本上是在REST调用期间作为HTTP标头传递的加密字符串。 但是,如果有一个窃听者看到请求并窃取令牌,该怎么办?那他就能伪造我的身份要求吗? 实际上,这种担忧适用于所有基于令牌的身份验证。 如何预防呢?像HTTPS这样的安全通道?

12
使用Postman在标头中发送JWT令牌
我正在根据以下文章测试基于JWT令牌的安全性的实现。我已成功从测试服务器收到令牌。我不知道如何让Chrome POSTMAN REST Client程序在标头中发送令牌。 我的问题如下: 1)我使用正确的标题名称和/或POSTMAN接口吗? 2)我是否需要基于64位编码令牌?我以为我可以将令牌寄回去。
169 express  jwt  postman 

3
在浏览器中的何处存储JWT?如何防范CSRF?
我知道基于cookie的身份验证。SSL和HttpOnly标志可以应用于保护来自MITM和XSS的基于cookie的身份验证。但是,将需要采取更多特殊措施来保护它免受CSRF的侵害。它们只是有点复杂。(参考) 最近,我发现JSON Web令牌(JWT)作为身份验证的解决方案非常热门。我知道有关编码,解码和验证JWT的知识。但是,我不明白为什么某些网站/教程告诉您使用JWT不需要CSRF保护。我已经阅读了很多,并尝试总结以下问题。我只希望有人可以提供JWT的概况,并阐明我对JWT误解的概念。 如果JWT存储在cookie中,则我认为它与基于cookie的身份验证相同,除了服务器不需要会话来验证cookie /令牌。如果不采取特殊措施,CSRF仍有风险。JWT是否存储在cookie中? 如果JWT存储在localStorage / sessionStorage中,则没有cookie,因此不需要防御CRSF。问题是如何将JWT发送到服务器。我在这里发现建议使用jQuery通过Ajax请求的HTTP标头发送JWT。那么,只有ajax请求可以进行身份​​验证吗? 此外,我还发现了另一个博客节目,使用“ Authorization标头”和“ Bearer”发送JWT。我不了解博客谈论的方法。有人可以解释一下“授权标头”和“承载者”吗?这是否会使通过所有请求的HTTP标头传输的JWT?如果是,CSRF怎么样?


3
Spring Security筛选器链如何工作
我意识到Spring安全性是建立在过滤器链上的,该过滤器将拦截请求,检测(不存在)身份验证,重定向到身份验证入口点或将请求传递给授权服务,并最终让请求到达servlet或引发安全异常(未经身份验证或未经授权)。DelegatingFitlerProxy将这些过滤器粘合在一起。为了执行任务,这些筛选器访问服务,例如UserDetailsS​​ervice和AuthenticationManager。 链中的关键过滤器为(按顺序) SecurityContextPersistenceFilter(从JSESSIONID恢复身份验证) UsernamePasswordAuthenticationFilter(执行身份验证) ExceptionTranslationFilter(从FilterSecurityInterceptor捕获安全异常) FilterSecurityInterceptor(可能会抛出身份验证和授权异常) 我对如何使用这些过滤器感到困惑。是否是在春季提供的表单登录中,UsernamePasswordAuthenticationFilter仅用于/ login,而后面的过滤器未使用?表单登录名称空间元素是否自动配置这些过滤器?是否每个请求(无论是否经过身份验证)都到达非登录URL的FilterSecurityInterceptor? 如果我想使用从登录名检索到的JWT-token保护我的REST API ,该怎么办?我必须配置两个名称空间配置http标签,对吗?一个用于/ login,使用UsernamePasswordAuthenticationFilter,另一个用于REST URL,带有自定义JwtAuthenticationFilter。 配置两个http元素会创建两个元素springSecurityFitlerChains吗?是UsernamePasswordAuthenticationFilter默认是关闭的,直到我宣布form-login?如何SecurityContextPersistenceFilter用Authentication将从现有JWT-token而不是从中获取的过滤器替换JSESSIONID?

3
JWT刷新令牌流
我正在构建一个移动应用程序,并且正在使用JWT进行身份验证。 似乎最好的方法是将JWT访问令牌与刷新令牌配对,以便我可以根据需要频繁地使访问令牌到期。 刷新令牌是什么样的?是随机字符串吗?该字符串是否已加密?是另一个JWT吗? 刷新令牌将存储在用户模型上的数据库中以供访问,对吗?在这种情况下,似乎应该对其进行加密 用户登录后,我会发回刷新令牌,然后让客户端访问一条单独的路由来检索访问令牌吗?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.