我为一个数据库制作了一个 json api,其中包含一些产品,以及一些可以添加和搜索这些产品的用户。所以用户有一个登录名/密码,使用这些凭据我可以进行 POST api 调用。
我现在想制作一个 iPhone / android 应用程序,我想知道如何处理这些发布请求:第一次我会询问用户凭据,然后我将能够执行一个 POST 请求。但是我在哪里存储这些凭据?在手机上?是否应该在下一次应用程序启动时保留它,登录仍然存在吗?
欢迎任何有用的链接。
我根本不会存储纯文本或加密的登录凭据,而是实现一个 OAuth 样式的登录过程,其中用户登录一次,服务器对其进行验证并生成一个相对较长的随机字符串作为身份验证令牌(与通常的用户密码相比)。
优点是这个随机字符串是乱码。如果该令牌会泄露给第三方,那么他们基本上只有您的服务的密钥,而不是可以授予访问其他服务的通用密钥(因为人们通常懒得记住不同地方的不同密码,并且可以被剥削)。
所以基本上你会帮助你的用户并提高他们的安全性。
在 Android 的情况下,该令牌可以存储在您应用的私有存储中,这可以被认为是安全的,因为其他应用没有访问权限(不考虑 root 或受损设备,但这不应该是您的问题)。
为了与您的服务器进行身份验证,您只需将该令牌作为附加标头值添加到您的应用程序的 HTTP 请求中。