如何解决如何在本机应用程序中保护“保持登录状态”?
我一直想知道Dropbox客户端等本机应用程序或具有服务器端服务的任何其他本机应用程序如何安全地实现“保持登录”功能。
- 他们是否存储用户凭据?还是商店永不过期的访问令牌?
- 凭证/访问令牌如何存储?必须以任何方式对它们进行加密。
- 加密数据时,如何生成密钥?修复密钥的意义不大,因为可以对代码进行反向工程。
是否存在用于安全存储凭据/访问令牌的最佳实践或行业标准?
解决方法
本地应用可以在登录后使用内置的安全存储来存储OAuth令牌:
- 使用应用和用户专用的密钥对令牌进行加密
- 它们存储在操作系统安全存储中,例如Windows Credential Manager / MacOS或iOS密钥链
- 刷新令牌的有效期可以长寿,但不是无限的
- 标准库通常执行较低级别的加密工作
当然,主要的好处是用户不需要在每次应用重新启动时登录。例如:
- 我的桌面应用程序通过this code处理操作系统安全存储。
- 然后the end of this blog post显示存储的凭据。
相同的原则适用于移动设备:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。