Android:OAuth2-如何实现记忆我的功能?
一点背景:Android:OAuth2-如何实现记忆我的功能?,android,security,oauth,oauth-2.0,Android,Security,Oauth,Oauth 2.0,一点背景: 用户在每个应用程序启动实例上输入凭据 这些凭证作为POST正文的一部分发送到服务器(我们使用AES使用密钥对其进行加密并放入POST正文),然后从服务器返回一个令牌,该令牌是一些编码字符串 此令牌将授权我们的应用程序发出请求 现在,我希望读者们关注一个事实,我们首先需要用户凭据才能获得授权令牌。 代币将在12小时后过期并且所有后续请求都是未经授权的,我们被迫将用户踢出应用程序,重新登录,并获得一个新的代币,该代币将继续使用12小时。我知道这是一次糟糕的经历 现在,我们需要实现“记住我
现在,我们需要实现“记住我”功能。我对使用共享首选项一点也不舒服(即使使用加密,在这种情况下,一个严重的黑客也可能获得密钥)。我该怎么办?我刚刚知道令牌web服务是oAuth2。我还是一个新手,还在看关于oAuth2的文章,我看到人们对SharedPref和AccountManager api进行了大量的讨论。但我看到的是Reto Meier的作品。他提到服务器应该使用oAuth。我的问题是在我的场景中,什么是最安全的方法,以及如何使用oAuth实现Remember me功能。任何“清晰”的例子/清晰的解释都会大有帮助。期待您的回答。这完全是我的意见,可能不到100%正确 我目前正在努力解决这一问题,但我知道可能产生的一些后果是:
- 使用派生函数在服务器数据库中存储密码 与hash+salt一起,成为每个用户唯一的salt
- 通过发送用户名和密码(哈希或普通)实现oAuth
文本无所谓)通过HTTPS一次性发送到服务器,他
返回具有给定过期时间的令牌。例如Dropbox
oAuth令牌有一个巨大的验证,但并不意味着它不那么安全。你 如果用户受到威胁,只需使令牌失效 - 将令牌存储在设备的SharedReferences中,并将其用作 记住我