Igo*_*aPT 12 authentication api rest token node.js
我已经构建了一个API,为登录的用户生成一个身份验证令牌.此时我还有一个用Node.JS编写的客户端应用程序.
当我使用客户端应用程序的用户凭据向API发出请求时,我获得了身份验证令牌:我应该如何将其存储在客户端应用程序中?每次我想要请求API时,我都不应该请求令牌,对吗?
我想过将令牌放在Cookie中,但我不认为这是最好的解决方案.你会推荐什么?
成功登录后,应在服务器端创建唯一的一次性令牌,并根据用户ID和时间戳存储在数据库中.您将令牌存储在cookie客户端.然后,将令牌传递给每个后续API调用.然后服务器应该检查令牌是否有效(即没有过期,比如发布或更新少于30分钟前说).如果它有效,您可以检索针对该令牌存储的用户详细信息,并执行您需要的任何后端功能(当用户通过身份验证时).然后,您可以更新该令牌的时间戳(刷新会话,因为您希望在没有用户交互的30分钟之后登录超时).如果在获得API调用时令牌已过期或不存在,请重定向到登录页面.
此外,您可能已经知道这一点,但要确保令牌是唯一且不可猜测的,我倾向于生成新的随机GUID并加密它们,不要使用sequentail id或类似的东西.