几种常用的服务器认证机制

OAuth

概括:OAuth是一个开放授权标准,服务器端允许用户在不给第三方软件密码和账户的前提下,让第三方软件访问一定的服务器端资源。

具体实现:OAuth允许第三方软件提供一个令牌,而不是用户名和密码来访问用户在服务器端的某些特定资源。某一个令牌授权只针对一个特定的第三方系统(例如,视频编辑软件在某一特定时间内,例如2小时,只能访问服务器端用户的某些特定资源(例如某一相册中的视频)。

以下为OAuth2.0的流程:

这种基于OAuth的认证机制适用于个人消费类的互联网产品,如社交类APP等应用,不太适合自认证权限管理的企业。

Cookie+Session Auth

概括:cookie+session 客户端访问服务端时,服务器在服务端创建一个session对象用来存储用户的状态信息,此session有个唯一的标识ID,并将此session ID 返回给客户端,客户端将session ID存放在cookie中,此后客户端通过cookie中的session ID与服务器端保持连接。

以下为cookie+sesssion Auth 流程:

 

cookie+session  多用于一些网上商城,但是对于一些原声平台不支持cookie(andorid,windows,ios)。

 

TOKEN Auth

概括:客户端访问服务器端时,服务器端利用某算法生成一个TOKEN返回给客户端,一般存储在cookie中或者http Authorization,下次客户端访问服务器验证客户端的TOKEN来辨别身份。

优势:

TOKEN 生成速度验证速度要比去数据库中检索session ID来的快。

cookie存在跨域问题,而token可以很好的解决跨域问题。

更适用于CDN

TOKEN AUTH 认证过程如下:

TOKEN 的认证过程分为两个方面-首次登录,其后的登录过程。

首次登录:

 

其后的登录过程如下:

 

转载于:https://www.cnblogs.com/zydxx/p/9550939.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值