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