如何在移动和浏览器客户端中同时对用户进行身份验证

时间:2018-09-06 11:04:25

标签: security authentication

我正在开发一台服务器以及2个客户端应用程序Web和移动设备,但我一直坚持身份验证问题。服务器是无状态的,因此当用户登录时,它会生成2个令牌:访问和刷新,并在响应头中发送它们。问题在于,如果用户登录了移动客户端,然后登录了浏览器应用程序,则该用户将从移动设备上注销,因为当该用户在浏览器应用程序中进行身份验证时,服务器将生成一个新的访问令牌。可以通过返回已经存储的令牌(如果它没有过期)来解决此问题,但是如果用户同时使用2个浏览器和移动应用程序,则可能会出现另一个问题:

  1. 用户在浏览器应用中发出请求->访问令牌已到期->浏览器应用发送刷新令牌并获取新的访问令牌
  2. 用户转到移动应用程序->由于服务器为浏览器应用程序生成了新令牌,因此存储的访问令牌现在是错误的。
  3. 移动应用发送刷新令牌以获取新的访问令牌
  4. 用户转到浏览器应用...

如果用户同时使用浏览器和移动客户端,响应时间可能会增加。 您能否解释一下这应该如何工作。例如,如果我在浏览器和手机中打开了Facebook,那么在手机或浏览器中执行任何操作都不会延迟时间。

0 个答案:

没有答案