我为一个包含一些产品的数据库制作了一个json api,以及一些可以添加和搜索这些产品的用户。因此,用户拥有登录名/密码,使用这些凭据我可以执行 POST api 调用。
我现在想要制作一个 iPhone/Android 应用程序,我想知道如何处理这些 POST 请求:第一次我会询问用户凭据,然后我将能够执行一个 POST 请求。但是我在哪里存储这些凭据呢?在手机上?是否应该将其保留下来,然后在下一次应用程序启动时,登录名仍然存在?
欢迎任何有用的链接。
最佳答案
我根本不会存储纯文本或加密的登录凭据,而是实现一个 OAuth 风格的登录过程,其中用户登录一次,服务器验证它并生成一个相对较长的随机字符串作为身份验证 token (与普通用户相比)密码)。
优点是这个随机字符串是乱码。如果该 token 泄露给第三方,他们基本上只有您的服务的 key ,而不是可以授予对其他服务的访问权限的通用 key (因为人们通常懒得记住不同地方的不同密码,这可能被利用)。
所以基本上你会帮用户一个忙并提高他们的安全性。
对于 Android,该 token 可以存储在您应用程序的私有(private)存储中,这可以被认为是安全的,因为其他应用程序没有访问权限(不考虑已 root 或受损的设备,但这不应该是您的问题)。
要通过服务器进行身份验证,您只需将该 token 添加为附加 header 值,例如添加到应用的 HTTP 请求中。
关于android - 具有成员(member)设计的移动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11386949/