有一个用户很多的网站。为了使用私人页面,用户必须使用用户名和密码登录。
现在我正在开发一个 android 应用程序,该应用程序通过 API 以原生方式显示来自网站的内容,没有 WebView 或类似方式。工作流程如下:
- 应用程序已启动
- 应用程序检查会话密钥是否存在。
- 如果密钥存在,则询问网站API sessionkey是否有效并且属于用户=>如果是,则允许应用程序的使用
- 如果不存在会话密钥,则询问用户名+密码,询问 API 是否正确并通过 API 获取新的会话密钥 => 允许应用使用
- 用户点击例如“账户余额” -> API 请求使用存储的 sessionkey 完成并显示结果
- 用户点击“支付”,填写表格并获得他的钱 -> API 请求使用存储的会话密钥完成并显示结果
现在我正在寻找解决这个问题的最佳实践。我不希望我的 sessionkey 被简单地劫持,我想确保 sessionkey 确实属于这个用户。由于可以通过应用程序查看/修改私人数据,因此隐私很重要。
我查看了 oAuth,但这不是我认为的需要,因为我需要一个对每个用户都是唯一的消费者密钥和消费者秘密,我无法将其集成到应用程序中。我不想有一个新的窗口/浏览器来输入用户名+密码并通过像 oAuth 那样的回调来处理响应。
对此有任何提示吗?
非常感谢!