1、概述
在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情。
随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N个客户端的格局 。
不同的客户端产生了不同的用户使用场景,这些场景:
-
有不同的环境安全威胁
-
不同的会话生存周期
-
不同的用户权限控制体系
-
不同级别的接口调用方式
综上所述,它们的身份认证方式也存在一定的区别。
本文将使用一定的篇幅对这些场景进行一些分析和梳理工作。
2、使用场景
下面是一些在IT服务常见的一些使用场景:
-
用户在web浏览器端登录系统,使用系统服务
-
用户在手机端(Android/iOS)登录系统,使用系统服务
-
用户使用开放接口登录系统,调用系统服务
-
用户在PC处理登录状态时通过手机扫码授权手机登录(使用得比较少)
-
用户在手机处理登录状态进通过手机扫码授权PC进行登录(比较常见)
通过对场景的细分,得到如下不同的认证token类别:
1、原始账号密码类别
-
用户名和密码
-
API应用ID/KEY
2、会话ID类别
-
浏览器端token
-
移动端token
-
API应用token
3、接口调用类别
-
接口访问token
-
身份授权类别
-
PC和移动端相互授权的token
3、token的类别
不同场景的token进行如下几个维度的对比:
天然属性对比:
1、使用成本
本认证方式在使用的时候,造成的不便性。比如:
-
账号密码需要用户打开页面然后逐个键入
-
二维码需要用户掏出手机进行扫码操作
2、变化成本
本认证方式,token发生变化时,用户需要做出的相应更改的成本:</