我正在为在线商店编写移动客户端。我编写了REST API来访问服务器上的数据。现在我需要对用户进行身份验证 我已经阅读了很多关于此的内容,并得出了简单的解决方案 首先,当用户第一次运行应用程序时,他必须输入准确的密码并从在线商店帐户登录。在这种情况下,密码以某种方式发送到服务器并在用户得到响应之后被检查 如果一切正常,用户将获得访问权限,以便将来可以访问私有数据。如果没有,请获取简单的禁止消息。
我在这里有一些问题:
第一次发送密码和登录的最佳方式是获取访问令牌。使用某种算法加密密码,然后通过简单的HTTP发送密码或建立HTTPS会话,只需使用此通道通过网络传输数据。在这种情况下,密码不必加密,使用HTTPS提供的公钥/私钥吗?
是否可以通过HTTPS将此请求作为POST方法发送,例如使用下一个URL / api / v0 / store / auth?或者最好以另一种方式做到这一点。
在使用HTTPS的所有情况下,我都需要自签名证书吗?
如果有任何帮助,我将不胜感激。提前谢谢。
答案 0 :(得分:1)
1 - 密码不必在HTTPS上加密。最好的方法是您的服务器加密刚刚收到的普通密码,然后尝试对用户进行身份验证,生成令牌。此令牌应仅在此连接期间持续。
2 - 是的,post方法可以进行身份验证。
3 - 您可以使用自签名证书,但如果您这样做,客户端可能会触发警报,因为它无法识别您的证书。正确的方法应该是从VeriSign等授权提供商处获取SSL证书。