Asp.Net Web API JWT身份验证

问题描述:

我在我的Asp.Net Web API应用程序中使用JWT实现了用户身份验证。无论何时用户登录,它都可以正常工作,访问令牌会生成并返回给客户端,并且客户端会返回每个访问受保护资源的请求。但是,如果我复制相同的访问令牌,并使用相同的访问令牌从其他任何客户端(如邮递员)准备请求,则它将访问受保护的资源。我认为这是一种正常的行为。但是有没有更好的解决办法来摆脱这种情况,即使使用相同的访问令牌也不允许任何其他客户端。所以这也是为了让它具有客户特定性。Asp.Net Web API JWT身份验证

如果您不希望任何其他入侵者复制您的访问令牌并访问受保护的资源,那么您必须使用SSL

为了保护极其敏感的数据,您应该将令牌生存期保持在非常短的时间窗口内。如果你保护的东西不太敏感,你可以延长寿命。令牌的有效时间越长,攻击者在用户的计算机遭到入侵时将不得不模拟经过身份验证的用户的时间窗口。

您可以检查this great answer学习一些东西

你应该传递一个用户名和密码,以获得在首位的令牌。该密码是提供安全性的私钥,以确保其他人无法为该用户获取令牌。只要您的流量超过https(ssl),那么该令牌在传输过程中受到保护,而其他任何人都不应该拦截它。