0

我有一个连接到 .Net api以接收/设置数据的 Android 应用程序。我的困惑是关于如何第一次注册/登录用户并在他每次向 api 发出请求时对其进行身份验证。

  • 如果我只使用username/password基于身份的身份验证会足够安全吗?我是否应该将其保存username/password在设备中,以便对服务器的每个api请求进行身份验证,然后为他的请求提供服务?
  • 我是否应该GUID在注册时为每个用户发出一个,将其保存在他们的设备中并在每次api请求期间检索?

还有哪些其他模式可用,哪些模式最有效和最安全。

4

1 回答 1

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/

于 2013-10-27T10:01:51.953 回答