1.HTTP Basic Auth
2.HTTP表单认证
表单认证一般都会配合cookie+sessionid使用,大部分web站点都是使用此认证方式。用户在登录页中填写用户名和密码,服务端认证通过后会将sessionId返回给客户端,客户端会保存sessionId到cookie中。因为http是无状态的,所以客户端使用cookie来保存sessionId,下次客户端发送请求时会包含sessionId值,服务端发现sessionId存在并认证过则会提供资源访问
缺点:公司内不同系统间,cookie无法跨域。对于存储的session,不同服务器之间还要同步session,比较麻烦
3.SSL Client认证
a.客户端请求服务资源,服务器要求客户端出示数字证书
b.客户端发送数字证书
c.服务端通过数字证书机构的公钥验证数字证书合法性,验证通过后取出证书的公钥
d.服务端生成一个随机数即为对称密钥,并使用非对称算法和公钥加密。加密后的字符串,只有发送的客户端可解
e.客户端使用非对称解密算法和证书私钥获取服务端的对称密钥。后续客户端和服务端的请求直接基于对称算法和对称密钥。由于只有客户端和服务端有对称密钥,所以后续发送的请求比较安全。
4.开放式授权 OAuth2.0