android - 具有成员(member)设计的移动应用程序

标签 android iphone cocoa mobile

我为一个包含一些产品的数据库制作了一个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/

相关文章:

android - Listview Textview 删除线

macos - NSAnimation 删除按钮背景颜色

objective-c - 如何为 NSAttributedString 内的文本设置 "hidden"属性?

objective-c - 从 Objective-C 发送消息并获取返回值?

Android 向服务器发送数据(基础知识很少)

android - TextView 到 Bitmap,对齐问题

android - 如何在我的 Android 应用程序中从 Mi Band 3 获取连续的心率数据

iphone - UITextField ResignFirstRespond 在 iPhone 中不起作用?

iphone - NSMutableData SetLength错误

iphone - 如何改变HUD灰色部分的颜色