小编Sam*_*far的帖子

JWT令牌撤销值得吗?

我之前曾就JWT令牌的安全问题提出了一个很长的问题,但我想在这里专注于JWT令牌撤销.我使用JWT作为我的主要身份验证机制来验证移动应用程序的移动客户端.我的问题是:是否值得实施令牌撤销?目前,我的代币使用寿命很短,我依靠TLS来防止代币被未经授权的用户窃取.我还没有实现令牌撤销.但基本上这意味着如果一个令牌以某种方式被盗,就没有办法撤销它.更让我担心的是,当用户退出应用程序时,如果我无法撤消它,那么他们使用的最后一个令牌仍然有效.而且这也意味着我不能限制用户可以请求的令牌数量,因为我没有跟踪发布的任何令牌.我已经看到许多应用程序只将所有已发布的令牌存储在数据库中,允许它们撤销和管理令牌.但这似乎打败了使用JWT的目的.值得添加这种复杂性还是我当前的系统安全?

提前致谢.我感谢任何帮助.

security authentication jwt

12
推荐指数
1
解决办法
3264
查看次数

如何使用jquery ajax发送表单数据而不提交表单?

我的页面上有一个我不想提交的表单。这是我基本上想做的一个例子。当我单击按钮时,我希望发送 ajax 请求但不提交表单。这是单击我的按钮时将运行的函数的示例格式:

function clicked()
{
     try {
            var url = "test.php?t1=1&t2=2"
            var postData = $("#myForm").serializeArray();
            $.ajax(
            {
                url : url,
                beforeSend: function (request)
                {
                  request.setRequestHeader('Content-Type', 'text/html;   charset=utf-8');
                },
                type: "POST",
                data : postData,
                contentType: false,
                processData: false,
                success:function(data, status, xhr) 
                {
                    if(status == "success")
                    {
                        alert(data); 
                       // Do something on page
                    }
                    else
                    { 
                      // Do something on page
                    }
                },
            });  
      } 
     catch (e) 
     {
        alert("Error Adding POI:\n" + e);
     }
}
Run Code Online (Sandbox Code Playgroud)

当我使用 PreventDefault 函数禁用表单提交时,不会提交表单。但是,该表单只是将 ajax post 请求发送到我的 …

javascript forms ajax jquery

6
推荐指数
1
解决办法
9671
查看次数

关于 JSON Web Token 安全性的一些问题?

我一直在开发一个 Android/IOS 应用程序,它使用 Tomcat API 来发送/接收数据、登录、注销等。我的主要身份验证形式是通过使用 SHA-512 的 HMAC 的 JSON Web 令牌。身份验证照常进行。用户首次登录时提供凭据(用户 ID 和密码)。服务器验证凭据,如果正确,则会生成 JWT 并将其返回给用户,用户可以使用该 JWT 在将来的请求中对自己进行身份验证。该令牌包含指定 userID 的自定义声明,用于了解哪个用户正在发出请求。我做了一些关于 JWT 的研究,对许多问题的看法褒贬不一。我有几个问题希望您能解答一下:

1- 使用 JWT 作为我的 API 的唯一身份验证机制是否足够?

2-在安全性方面,使用HMAC的JWT和使用RSA的JWT有区别吗?

3- 理想情况下,我应该在哪里存储用于签署令牌的对称签名密钥?目前,我将密钥直接传递给生成令牌的函数。这样做安全吗?

4- 我应该定期更改签名密钥以获得更好的安全性吗?

5- 我可以信任插入到令牌中的 userID 声明来识别发出请求的用户吗?

6- 令牌是否有“理想”到期时间?有些人建议最少 15 分钟,而另一些人则说 3 小时就可以了。

7- 我是否应该担心限制特定用户可以拥有的代币数量?用户可能拥有多个移动设备并且在任何时候都可能拥有多个令牌。在这种情况下,只要用户拥有凭据,就没有什么可以阻止他们从我的服务器获取数千个令牌。我应该实现某种机制(例如:数据库)来跟踪用户拥有的令牌吗?如果我在验证/生成令牌时必须进行额外的数据库查询,这似乎违背了 JWT 的目的并增加了复杂性。

8- 我需要担心撤销令牌吗?一些人认为拥有较短到期时间的令牌就足够了。其他人指出,如果用户注销应用程序后不撤销令牌,则永远不可能拥有真正的注销机制。仅仅等待令牌过期是错误的吗?就安全性而言,我什么时候需要撤销令牌?

抱歉发了这么长的帖子。我一直在担心处理这些问题的最佳方法。我很感激任何帮助。谢谢

security authentication api jwt

4
推荐指数
1
解决办法
877
查看次数

标签 统计

authentication ×2

jwt ×2

security ×2

ajax ×1

api ×1

forms ×1

javascript ×1

jquery ×1