我有一个在多个用户系统上运行的应用程序,使用 OAuth,允许用户通过 Facebook、Twitter 等登录。用户登录的全部意义在于获取同一用户的设置和操作在其他计算机上登录时创建,通过使用相同的 OAuth 提供者 + 提供者用户 ID 登录来识别。应用程序本身是使用 Qt 用 C++ 编写的。
我的问题是:如何保存用户所做的设置,并允许他们以安全的方式检索它?我有一个中央服务器,可以使用 MySql 表存储信息,但我不确定让用户应用程序提示服务器并接收为该用户存储的数据的最佳方式。
有什么想法或地方可以指点我吗?
最佳答案
我可以想到几种方法,所有方法都需要权衡取舍:
通常我会使用某种字符串或对象加密/序列化方法将数据存储在 mysql 中。我不常使用 Qt 但 http://qt-project.org/wiki/Simple_encryption有一些可以使用的非常简单的加密示例。
那么问题就变成了:你用什么作为 key ?我会使用 OAuth 为该用户提供的 key (如果用户取消对应用程序的授权但仍想访问此数据,这可能是一个问题)或其他用户提供的 key (这与在第一个中使用 OAuth 背道而驰)地点)。
另一种选择是使用 Qt 用户 session http://qt-project.org/doc/qt-4.8/qtwebkit-guide-cache.html
这可能会消除加密的需要,因为它应该只能在用户范围内访问。
注意:根据下面的评论,问题似乎更多地是关于保护与 MySQL 的通信而不是 MySQL 内部的数据。等待用户评论修改我的答案。
关于c++ - 基于 OAuth 的身份验证方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20735711/