我正在比较cookie
与token
身份验证。我对cookie
身份验证非常熟悉,但我需要了解token
身份验证的工作原理。
据我理解
我感到困惑的是3
,5
和6
,即令牌生成部分。
3
,您将哪些数据用于哈希,它只是一个哈希还是存在
更多的过程?5
,如果使用令牌发送任何其他数据会怎样?6
,如何发送数据用于验证令牌?答案 0 :(得分:1)
对于3,您为哈希提供了哪些数据,它只是一个哈希值,还是该流程还有更多?
无论你真正喜欢什么。实施细节仅供您考虑。基本上,令牌是一个随机字符串(加密,散列或不散列)......再次,由您决定如何实现它。但是,始终确保令牌在整个系统中是唯一的,并且系统可以使用它来有效地识别用户及其范围
对于5,如果使用令牌发送任何其他数据会怎么样?
我不太确定你还需要发送什么,但通常你不必发送任何其他东西,因为我上面提到的......访问令牌必须描述用户(或设备,或其他)及其在系统内的范围。那么,你为什么要费心去发送其他信息呢?
对于6,如何发送数据用于验证令牌?
再次,这取决于你。其他数据可以是用户的电子邮件地址或用户ID,然后您的系统可以将用户ID(或电子邮件)与访问令牌相匹配。但是,这不是强制性的,您可以按照您想要的方式实现它。
如何判断令牌是否已过期?
好吧,如果您的系统发出临时访问令牌,希望它会跟踪创建访问令牌的时间,然后根据创建确定访问令牌是否已过期。这是从服务器端。例如,在最简单的形式中,您可以拥有一个存储访问令牌的数据库表,其中包含以下列:
这就是你需要它才能使它工作,当然,通常你会想要提供更强的安全性,这个表会更大。