【发布时间】:2023-03-29 02:53:02
【问题描述】:
我有一个 RESTful API,用户将通过一组网络/移动客户端访问它,我正在尝试弄清楚如何处理令牌身份验证。我的理解是传统令牌认证的工作原理如下:
- 通过提供用户/通行证的用户身份验证,接收回令牌和过期
- 直到,每个请求都传递令牌
- 到期后,请求新令牌(通过提供单独的“刷新”令牌或仅通过用户/密码重新进行身份验证)
是否有充分的理由不为每个请求生成新令牌?即:通过用户/通行证请求初始令牌。此令牌与第一个 API 请求一起传递,该请求返回 api 响应的内容以及必须与以下请求一起传递的新令牌......这种方法的优点是用户接受的每个请求(操作)'重置令牌身份验证的到期时间,以便令牌到期时间基本上成为用户可以在不注销的情况下处于非活动状态的时间段。有充分的理由不使用这种方法吗?上面列出的方法似乎更普遍(这就是我问的原因)。
最后,一个稍微相关的问题。是什么阻止了正在监视网络的人从用户那里获取令牌?特别是在第一种方案中,似乎很容易做到(在第二种方法中,您需要捕获传入的请求,然后在用户之前快速获取下一个令牌)。
【问题讨论】:
标签: authentication token restful-authentication