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