对于刷新令牌轮换和更新刷新令牌和访问令牌的方式,我想知道,对于同一个用户,他或她是否打开不同的浏览器并登录。这意味着,对于相同的用户,令牌轮换会认为它被盗。我说得对吗?
如果我不想发生这种情况,我可以使用IP和用户ID来识别用户吗?它安全吗?我知道如果它是共享IP,那么没有。
有没有黑客不能伪造的东西可以区分黑客和用户?我想手机有某种设备ID。浏览器怎么样?
我认为你混淆了完全不同的概念
- Oauth-授权
- 打开id连接-登录-身份验证
访问令牌和刷新令牌用于授权。用户授予您的应用程序访问其数据的权限。发生这种情况时,用户不必在场。使用访问令牌来证明用户身份不是正确的做法。
你应该使用open id connect来对用户进行身份验证-让他们登录。然后你应该取回一个包含声明的id令牌,其中一个声明是主题声明,它应该是你连接到的系统上的用户id。你应该使用它来识别用户。
至于黑客白痴。(授权(
访问令牌是短暂的,它们将使您的应用程序在有限的时间内访问系统,通常为一小时。如果黑客获得了访问令牌,他们也可以在这一小时内访问该系统。访问令牌是自包含的。则不进行进一步的验证。
刷新令牌需要客户端id和客户端机密才能请求新的访问令牌。所以黑客需要你的客户端id,客户端机密,在一个有效的重定向uri上。以便请求新的访问令牌。这就是为什么不应该将重定向uri设置为localhost的原因。
破解和打开id连接。(认证(
就登录而言,黑客需要让用户登录并输入密码才能登录并取回id令牌。你应该假设这不是黑客,而是机器背后的用户。