我对应用程序中的凭据缓存有疑问。我在网上搜索了这个问题的解决方案,但我没有找到任何东西(这真的很令人惊讶,因为这是每个Facebook,Twitter和电子邮件客户端应用程序必须处理的事情。)
我的问题是:
假设我正在构建一些简单的Twitter客户端。我不想强迫用户每次都输入密码。大多数应用程序如何解决这个问题?在某些时候,客户端需要进行API调用以进行身份验证(其中包括密码,通常是纯文本)。但是,显然,在纯文本中保存密码不是正确的解决方案。那么,大多数应用如何安全地做到这一点?我想如果密码是加密的,你可以将密码缓存在文件或数据库中,但是如何安全地存储解密密钥?或者是否在运行时使用来自客户端计算机的唯一信息作为种子生成?
是否有任何资源(文章,书籍等)谈论这个?大多数应用程序如何处理这个问题?
谢谢!
答案 0 :(得分:0)
单点登录(SSO)设置通过提供集中式方法来使用某种类型的会话ID生成,分发和验证密钥,从而完成您所描述的内容。
查看一种方法(由StackExchange/StackOverflow使用):
这是我不知道的事情:这类功能称为Federated Identity。例如,我工作的网络系统提供(但不要求)Shibboleth。请参阅此处以获取选项列表: