gpt4 book ai didi

Android:OAuth2 - 如何实现记住我的功能?

转载 作者:行者123 更新时间:2023-11-29 20:53:37 27 4
gpt4 key购买 nike

一点背景:

  1. 用户在每个应用启动实例中输入凭据。
  2. 这些凭据作为 POST 正文的一部分(我们使用 AES 使用 key 加密它们并放入 post 正文中)发送到服务器,我们从服务器取回一个 token ,它是一些编码的字符串。
  3. 此 token 将授权我们的应用程序发出请求。

现在我希望各位读者关注一个事实,即我们首先需要用户凭据才能获得授权 token 。

  1. token 将在 12 小时内过期,所有后续请求都未经授权,我们被迫将用户踢出应用程序以再次重新登录并获得一个新的 token ,该 token 还可以再使用 12 小时。我知道这是一次糟糕的经历。

现在我们需要实现记住我的功能。我一点也不喜欢使用共享首选项(即使使用加密,在这种情况下,严重的黑客也可能获得 key )。我应该怎么办 ?我才知道 token Web 服务是一个 oAuth2。我是一个新手,仍在查看有关 oAuth2 的文章,我看到人们对 SharedPrefs 和 AccountManager api 进行了大量讨论。但是我看到了这个answer由 Reto Meier 着。他提到服务器应该使用 oAuth。我的问题是针对我的情况,执行此操作最安全的方法是什么,以及我如何将任何东西与 oAuth 一起使用来实现记住我的功能。任何一种“清晰”的例子/清晰的解释都会有很大的帮助。期待您的回答。

最佳答案

这完全是我的意见,可能不到 100% 正确。

我目前正在为此苦苦挣扎,但我知道可能会导致的一些结果是:

  • 使用派生函数将密码存储在服务器的数据库中与 hash + salt 一起,是每个用户唯一的 salt;

  • 通过发送用户名和密码(散列或纯文本)实现 oAuth文本无关紧要)通过 HTTPS 一次发送到服务器,他
    返回具有给定到期时间的 token 。例如 Dropbox
    oAuth token 具有巨大的验证,并不意味着它不太安全。你如果用户受到威胁,只需使 token 无效;

  • 将 token 存储在设备的 SharedPreferences 中,并将其用作记住我。

关于Android:OAuth2 - 如何实现记住我的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28401251/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com