我有一个连接到.Net api
的Android应用,用于接收/设置数据。我所遇到的困惑是关于如何在每次向api发出请求时第一次注册/登录用户并对其进行身份验证。
username/password
的身份验证
够安全吗?我应该将username/password
保存在设备中吗?
对服务器的每个api
请求进行身份验证,然后进行服务
他的要求?GUID
,将其保存
他们的设备并在api
请求期间每次检索?还有哪些其他模式可用,哪种模式最有效和最安全。
答案 0 :(得分:0)
第一个重要注意事项 - 不要将密码存储在任何地方 - 在数据库存储中进行散列而不是纯文本。
通常,您需要一个流程,您可以在其中为用户创建会话并使用该流程 后续请求。因此,当您的用户登录时,您验证用户/密码哈希组合并为用户发出会话。在您的应用程序中,您存储会话并在将来的请求中使用它,直到用户注销或会话到期(通常您将会话设置到期)。
您还可以查看一些通用的身份验证流程,例如oauth2。
我还强烈建议在认证流程最佳实践中提出一些文档 你可以从这些开始:
https://www.owasp.org/index.php/Authentication_Cheat_Sheet
http://codingkilledthecat.wordpress.com/2012/09/04/some-best-practices-for-web-app-authentication/