注:这篇文章为15.app后端怎么设计用户登录方案的修改版,以前的这篇博客写得太简单了,弄得很多同学理解不了,趁着写书《App后台开发运维和架构实践》的机会,把这篇文章重写了。
App操作中经常涉及用户登录操作,用户登录就需要使用用户名和密码。为了安全起见,在登录的过程中暴露密码的机会越少越好。
登录过程中怎样才能最大程度地避免泄露用户的密码的可能呢?
用户登录后,App后台怎么去验证和维持用户的登录状态呢?
本节提供了一套用户登录的解决方案以供读者参考。
使用HTTPS协议
避免信息的泄露,最基本的方案是所有涉及安全性的API请求都必须使用HTTPS协议。
HTTPS协议是“HTTP协议”和“SSL/TLS协议”的组合。
SSL是“Secure Sockets Layer”的缩写,中文称为“安全套接层”,其是20世纪90年代中期由网景公司设计的。原来在互联网上使用的 HTTP 协议是明文,存在很多缺点(比如传输内容会被偷窥和篡改),发明 SSL协议是为了解决这些问题。到了1999年,SSL协议因为其应用广泛已经成为互联网上的事实标准,IETF 就在1999年把SSL协议标准化。SSL协议标准化之后的名称改为TLS(Transport Layer Security)协议,中文称为“传输层安全协议”。习惯上把这两者并列称