我正在用Rails API构建一个简单的api,并希望确保我在这里走上了正确的轨道.我使用Deviate来处理登录,并决定使用Deviate的token_authenticatable
选项,它生成一个API密钥,您需要随每个请求一起发送.
我正在将API与主干/ puppeteer 前端配对,我通常想知道应该如何处理会话.我的第一个 idea 是将api密钥存储在本地存储器或cookie中,然后在页面加载时检索它,但从安全Angular 来看,关于以这种方式存储api密钥的一些问题困扰着我.通过查看本地存储/cookie或嗅探任何通过的请求,并使用它无限期地模拟该用户,获取api密钥不是一件容易的事吗?目前,我正在每次登录时重置api密钥,但即便如此,这似乎也很频繁——无论你何时登录任何设备,这意味着你都会在其他设备上注销,这是一种痛苦.如果我能放弃这个重置,我觉得从可用性的Angular 来看,它会有所改进.
我在这里可能完全错了(希望我错了),有人能解释一下这种身份验证方式是否可靠安全,如果没有,那么什么是好的替代方案吗?总的来说,我正在寻找一种方法,可以安全地让用户"登录"到API访问,而不必频繁地强制重新验证.