我正在使用PHP构建应用程序和API端点(我知道您的想法!)。我的问题是,如果我在首次打开应用程序时要求用户提供用户名和密码,因为我无法在本地存储这些详细信息,因为它们可能会受到影响。我会通过Post请求将它们发送到服务器,然后根据用户是否合适来生成令牌。得到响应后,我必须在本地存储此令牌,对吗? 是!。令牌已过期。令牌过期后,我不想向用户询问其名称和密码,但希望访问仍以该用户身份进行身份验证的API。我该怎么做?
如果我使用Oauth,它仍然是相同的程序,对吗?我应该在本地存储一些东西。那不会妥协吗?我很困惑
其他应用程序如何工作。我确定他们在后台做某事。他们只要求我们提供一次凭证,随后的所有API调用都将得到保护。令牌在那种情况下不会过期吗?
我可以在不存储任何内容的情况下保护API调用吗?我不希望从应用程序以外的任何地方访问API。
答案 0 :(得分:1)
使用android SharedPreferences。除非您有意将其公开,否则它应该非常安全。可通过清单中缺少(android:exported =“ false”)的导出内容提供程序进行访问。您也可以使用sqlite,但是没有必要针对一两行数据使用db表。您还可以对用户名和密码进行加密,以增加一个安全层来保护root用户。
此外,为了保护网络中的数据,您应该在后端使用ssl,这样没人可以嗅到凭据。