Php 首先进行身份验证以获取令牌

Php 首先进行身份验证以获取令牌,php,android,ssl,https,token,Php,Android,Ssl,Https,Token,我正在为在线商店编写移动客户端。我已经为访问服务器上的数据编写了RESTAPI。现在我需要对用户进行身份验证。 关于这一点,我读了很多书,找到了简单的解决方案。 首先,当用户第一次运行应用程序时,他必须输入准确的密码并从在线商店帐户登录。在这种情况下,密码会以某种方式发送到服务器并在该用户得到响应后进行检查。 如果一切正常,用户将收到访问托克,该托克将来可用于访问私有数据。如果没有,则获取简单的禁止消息 我有一些问题: 什么是发送密码和首次登录的最佳方式,以获取访问令牌。使用某种算法加密密码,然

我正在为在线商店编写移动客户端。我已经为访问服务器上的数据编写了RESTAPI。现在我需要对用户进行身份验证。
关于这一点,我读了很多书,找到了简单的解决方案。
首先,当用户第一次运行应用程序时,他必须输入准确的密码并从在线商店帐户登录。在这种情况下,密码会以某种方式发送到服务器并在该用户得到响应后进行检查。
如果一切正常,用户将收到访问托克,该托克将来可用于访问私有数据。如果没有,则获取简单的禁止消息

我有一些问题:

  • 什么是发送密码和首次登录的最佳方式,以获取访问令牌。使用某种算法加密密码,然后通过简单的HTTP发送密码,或者建立HTTPS会话,只需使用此通道通过网络传输数据。在这种情况下,密码不必加密,是否使用HTTPS提供的公钥/私钥

  • 可以通过HTTPS以POST方法发送此请求吗,例如使用下一个URL/api/v0/store/auth?或者最好换一种方式

  • 在使用HTTPS的所有情况下,我都需要自签名证书


  • 如果有任何帮助,我将不胜感激。提前感谢。

    1-密码不必在HTTPS上加密是不正确的。最好的方法是您的服务器对刚刚收到的普通密码进行加密,然后尝试对用户进行身份验证,生成令牌。此令牌应仅在此连接期间有效

    2-是的,post方法可用于身份验证

    3-您可以使用自签名证书,但如果使用,客户端可能会触发警报,因为它无法识别您的证书。正确的方法应该是从VeriSign等授权提供商处获得SSL证书