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


    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 的认证过程分为两个方面-首次登录,其后的登录过程。

    首次登录:

    其后的登录过程如下:

  • 相关阅读:
    根据某字符(字符串)分割字符串
    call函数心得
    Git之常用命令
    ES6之async与await
    CSS之 sass、less、stylus 预处理器的使用方式
    JavaScript之继承
    vue之keep-alive的使用
    CSS之单行、多行文本溢出显示省略号
    Vue之 watch、computed、filter之间的区别与使用场景
    Vue之watch监听对象中某个属性的方法
  • 原文地址:https://www.cnblogs.com/zydxx/p/9550939.html
Copyright © 2020-2023  润新知