基于token的多平台身份认证架构设计

1   概述

在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情。

随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N个客户端的格局 。

不同的客户端产生了不同的用户使用场景,这些场景:

  1. 有不同的环境安全威胁
  2. 不同的会话生存周期
  3. 不同的用户权限控制体系
  4. 不同级别的接口调用方式

综上所述,它们的身份认证方式也存在一定的区别。

本文将使用一定的篇幅对这些场景进行一些分析和梳理工作。

2   使用场景

下面是一些在IT服务常见的一些使用场景:

  1. 用户在web浏览器端登录系统,使用系统服务
  2. 用户在手机端(Android/iOS)登录系统,使用系统服务
  3. 用户使用开放接口登录系统,调用系统服务
  4. 用户在PC处理登录状态时通过手机扫码授权手机登录(使用得比较少)
  5. 用户在手机处理登录状态进通过手机扫码授权PC进行登录(比较常见)

通过对场景的细分,得到如下不同的认证token类别:

  1. 原始账号密码类别
    • 用户名和密码
    • API应用ID/KEY
  2. 会话ID类别
    • 浏览器端token
    • 移动端token
    • API应用token
  3. 接口调用类别
    • 接口访问token
  4. 身份授权类别
    • PC和移动端相互授权的token

3   token的类别

不同场景的token进行如下几个维度的对比:

天然属性 对比:

  1. 使用成本

    本认证方式在使用

    网友评论