知行合一
Github
顺翔的技术驿站
顺翔的技术驿站
  • README
  • ABOUTME
  • Computer Science
    • 数据结构与算法
      • 位运算以及位图
      • 随机数
      • 递归
      • 经典排序算法
      • 经典查找算法
      • 数组和动态数组
      • 链表
      • 栈和队列
      • 树
      • 哈希表
    • 计算机网络
      • 物理层
      • 数据链路层
      • 网络层
        • TCP
      • 运输层
      • 应用层
      • HTTP
        • HTTPS的原理
        • DNS详解
        • file协议
        • 邮件协议
    • 设计模式
      • 单例模式
      • 建造者模式
      • 原型模式
      • 工厂模式
      • 享元模式
      • 代理模式
      • 装饰者模式
      • 桥接模式
      • 适配器模式
      • 外观模式
      • 组合模式
      • 事件驱动
      • 有限状态机
      • 备忘录模式
      • 模板方法模式
      • 策略模式
      • 迭代器模式
      • 命令模式
      • 解释器模式
    • 加密与解密
      • 数字证书原理
      • cfssl
  • Programming Language
    • 编程语言学习要素
    • Java
      • 集合
        • List
          • ArrayList
          • Vector
          • Stack
          • LinkedList
        • Iterator
        • Set
          • HashSet
          • TreeSet
        • Map
          • HashMap
          • HashTable
          • TreeMap
          • LinkedHashMap
      • 常用API
        • 日期时间处理
        • System
        • Random
        • Arrays
        • Scanner
        • 格式化输出
      • java特性
        • java5特性
        • java8特性
        • java9特性
        • java10特性
        • java11特性
      • 并发编程
        • 线程基础
        • 线程同步:synchronized及其原理
        • 线程同步: volatile
        • 锁机制
        • 锁的分类与对应的Java实现
        • JUC:同步辅助类
        • JUC: AtomicXXX
        • 线程池
        • ThreadLocal详解
      • 测试
        • 使用JMH进行基准测试
      • JVM
        • 强引用、软引用、弱引用、虚引用
        • jvm内存模型
        • jvm优化
        • GC算法与回收器
        • 静态绑定与动态绑定
      • ORM
        • Mybatis
          • IBatis常用操作
      • Web编程
        • Servlet详解(一)
        • Servlet详解(二):request和response对象
        • Servlet详解(三):会话技术与Cookie
        • JSP详解(一):页面构成、EL表达式
        • JSP详解(二):九大内置对象
        • JavaWeb的编码问题
        • Thymeleaf
      • Velocity
      • Java日志框架总结
      • Spring
        • SpringIOC
        • SpringMVC
        • SpringBoot源码
      • 其他
        • Apache Commons Lang使用总结
        • 使用FtpClient进行ftp操作
        • Java PDF操作总结
        • Java使用zip4j进行文件压缩
        • Java解析Excel总结
    • JVM Language
      • Groovy
      • Scala
    • Kotlin
      • 变量和常量
      • 数据类型
        • 基本数据类型
        • 容器类型
        • 函数类型
        • null和null安全
      • 流程控制
      • 包
      • 面向对象
    • Golang
      • 关键字与标识符
      • 变量和常量
      • 数据类型
      • 函数
      • 常用API
        • 时间日期处理
        • 字符串操作
        • 正则表达式
      • 控制语句
      • 包package
      • 面向对象
      • 错误处理
      • 命令行编程
        • Cobra
      • 文件操作
      • 测试
      • 并发编程
        • sync包详解
      • 数据格式与编码
        • 使用encoding包操作xml
        • 使用encoding包操作json
        • 使用magiconair操作properties
        • 使用go-ini操作ini
      • 反射
      • Build Tools
        • Go Module
        • Go Vendor
      • 日志框架
        • zap日志框架
      • Web编程
        • Gin
    • JavaScript
      • 数据类型
      • ECMAScript
        • ECMAScript6
      • NodeJS
    • TypeScript
      • 变量和常量
      • 数据类型
      • 函数
      • 面向对象
      • 泛型
      • Build Tools
        • tsc编译
        • 与webpack整合
    • Python
      • BuildTools
        • requirements.txt
        • Ananconda
    • Swift
      • 变量和常量
    • Script Language
      • Regex
      • BAT
      • Shell
    • Markup Language
      • Markdown
      • Yaml
  • Build Tools
    • CMake
    • Maven
      • 搭建Nexus私服
      • maven使用场景
    • Gradle
  • Version Control
    • Git
      • Git工作流
      • Git分支管理
      • Git Stash
      • Git Commit Message规范
      • .gitttributes文件
    • SVN
  • Distributed
    • 分布式基础理论
      • 互联网架构演变
      • 架构设计思想AKF拆分原则
      • CAP理论
      • BASE理论
    • 一致性
      • 一致性模型
      • 共识算法
        • Paxos
        • Raft
        • ZAB
      • 复制
        • 主从复制
        • Quorum机制
        • Nacos Distro协议
      • 缓存一致性
        • 双写一致性
        • 多级缓存一致性
    • 事务一致性
      • Seata
      • 本地消息表实现方案
      • 关于dpad的事务问题的分析
    • IO
    • RPC协议
    • 序列化
    • Session共享
    • 分布式协调
      • Zookeeper
        • zk集群4节点搭建
    • 服务治理
      • Dubbo分布式治理
    • 分布式ID
      • 分布式ID生成策略总结
    • 分布式锁
    • 应用服务器
      • Tomcat
    • Web服务器
      • Nginx
        • Nginx的基本配置
        • ab接口压力测试工具
        • nginx模块
        • 随机访问页面
        • 替换响应内容
        • 请求限制
        • 访问控制
        • 状态监测
        • nginx应用场景
        • 代理服务
        • 负载均衡
        • 缓存
        • 静态资源服务器和动静分离
        • 附录
      • Kong
    • 缓存中间件
      • Caffeine
      • memcached
      • Redis
        • Centos下安装Redis
        • RatHat下安装Redis
    • 数据库中间件
      • ShardingSphere
      • MyCat2
    • 消息中间件
      • Kafka
      • RocketMQ
  • Microservices
    • 服务发现
      • Nacos注册中心
      • Consul
    • 配置中心
      • Apollo
    • 消息总线
    • 客户端负载均衡
    • 熔断器
    • 服务网关
    • 链路追踪
      • Skywalking
  • Domain-Specific
    • Auth
      • 有关权限设计的思考
      • 认证方式
      • JWT
    • 任务调度
      • QuartzScheduler
      • Elastic-Job
      • XXL-Job
      • PowerJob
    • 工作流
      • BPM
      • Activiti
      • Flowable
    • 规则引擎
      • Drools
  • Architect
    • DDD领域驱动设计
      • 三层架构设计
      • 四层架构设计
    • Cola
    • 代码设计与代码重构
      • 重构改变既有代码设计
      • 枚举规范化
      • 接口幂等
      • 限流
      • 历史与版本
      • 逻辑删除和唯一索引
      • 业务对象设计
    • 单元测试
      • SpringBoot单元测试实践
    • 项目管理
    • APM
      • SkyWalking
      • Arthas
    • 性能优化
      • 接口性能优化
    • 系统设计
      • 流程中台
      • 短信中台
      • 权限中台
        • 智电运维平台组织架构改造二期
  • Database
    • Oracle
      • Docker下安装oracle11g
    • IBM DB2
    • Mysql
      • 安装Mysql
      • 用户与权限管理
      • MySQL的逻辑架构
      • 存储引擎
      • 索引详解
      • MySql的列类型
      • MySql中表和列的设计
      • MySql的SQL详解
      • 锁机制
      • 事务
      • Mysql函数总结
      • MySql存储过程详解
      • MySql触发器详解
      • Mysql视图详解
      • Mysql中Sql语句的执行顺序
      • 配置MySql主从和读写分离
      • MySql的备份策略
      • MySql分库分表解决方案
      • MySql优化总结
      • MySQL实战调优
        • schema与数据类型优化
    • Mongo
  • File System
    • README
    • HDFS
    • FastDFS
    • MinIO
  • Linux
    • 常用的Linux命令
    • vim
    • Linux磁盘管理
    • Linux系统编程
    • RedHat
      • rpm包管理器具体用法
    • Ubuntu
      • Ubuntu下录制屏幕并做成gif图片
      • Ubuntu20.05LiveServe版安装
  • DevOps
    • VM
      • 新建一个新的Linux虚拟机需要配置的东西
      • VMware桥接模式配置centos
      • VMwareFusion配置Nat静态IP
    • Ansible
    • Container
      • Docker
        • Dockerfile详解
        • DockerCompose详解
      • Containerd
    • Kubernetes
      • 安装k8s
        • 使用Minikube安装k8s
        • centos7.x下使用kubeadm安装k8s1.21
        • ubuntu20下使用kubeadm安装k8s1.21
        • centos7.x下使用二进制方式安装k8s1.20
        • 使用DockerDesktop安装K8s(适用M1芯片)
      • 切换容器引擎
      • 使用k8s部署项目的流程
      • 集群维护-备份升级排错
    • Gitlab
      • GitlabCI/CD
    • CI/CD
      • ArgoCD
  • Big-Data
    • Hadoop
    • MapReduce
    • HDFS
  • Front-End
    • Android
      • Log的使用、自定义Log工具类
      • Android倒计时功能实现
      • 解决ViewDrawableLeft左侧图片大小不可控的问题
      • AndroidSQLite基本用法
      • View的生命周期
      • 工具类
      • WebView详解
      • ViewTreeObserver类监听ViewTree
      • 在onCreate中获取控件的宽高等信息的几种方法
      • View的foreground属性
        • MaterialDesign
          • BottomNavigationBar
          • CardView
          • Elevation高度、shadows阴影、clipping裁剪、tint着色
          • TouchFeedbackRipple波纹动画
      • Volley完全解析——使用、源码
      • Android围住神经猫的实现
      • LookLook剖析,架构概述——MVP、Retrofit+RxJava
      • Android性能优化之渲染
    • Browser
      • 浏览器的工作原理
    • HTML
      • DOCTYPE标签、XHTML与HTML的区别
    • CSS
      • CSS的继承性、层叠性、权重
      • CSS浮动float详解(一):标准文档流
      • CSS浮动float详解(二):使用float
      • CSS浮动float详解(三):清除浮动方案
    • Tools Lib
      • JavaScript 文件下载解决方案-download.js
      • js-url 用于url的js开源库
      • jsuri 用于操作url的js开源库
      • window offset
    • React
      • 模块化和组件
      • 组件的三大核心属性
      • 事件处理
      • 表单数据收集
      • 生命周期
      • DOM的diff算法
      • 工程化
        • 脚手架create-react-app
        • 工程结构和模块化
      • 路由
  • Design
    • 产品设计
      • 交互设计
由 GitBook 提供支持
在本页
  • 常见的身份认证方式
  • Token认证(Token authentication)
  • 密码认证(Password authentication)
  • 生物识别认证(Biometric authentication)
  • 多因素认证(Multi-factor authentication)
  • 基于证书的认证(Certificate-based authentication)
  • 不同场景下的认证方式
  • 唯一身份认证(Identification Authentication)
  • API认证(API authentication)
  • 用户认证(User authentication)
  • 保险库认证(Vault authentication)
  • web应用程序认证(Web application authentication)
  • 无线认证(Wireless authentication)
  • 邮箱认证(Email authentication)
  • 数据库认证(Database authentication)
  • 支付认证(Payment authentication)
  • 服务器与网络认证(Server and network authentication)
  • 护照与文档认证(Passport and document authentication)
  • 网上银行认证(Online banking authentication)
  • 远程认证(Remote authentication)
  • 加密认证(Cryptography authentication)
  • 参考

这有帮助吗?

在GitHub上编辑
  1. Domain-Specific
  2. Auth

认证方式

常见的身份认证方式

Token认证(Token authentication)

用户通过某些方式向认证服务器验证、证明自己,然后服务器下发一个Token令牌。只要下发的令牌处于有效期中,那么用户就可以通过令牌访问应用程序。

密码认证(Password authentication)

密码认证是最常见的认证方式。在密码认证中,客户必须提供相应的凭据才可以登录系统,密码通常越复杂其安全性才会更高。

生物识别认证(Biometric authentication)

生物识别认证根据个人独特的生物学特征对人进行认证。他会储存相应的特征信息然后再与人的体征进行比对,常见的生物识别方式有:

  • 人脸识别(Face Match)

  • 指纹扫描(Fingerprint scanners)

  • 语音识别(Voice recognition and identification)

  • 眼部扫描(Eye Scanners),使用可见光或者近红外线检查一个人的虹膜

多因素认证(Multi-factor authentication)

系统需要两个或者多个的认证才可进行访问。它可以是在线帐户、应用程序或VPN。MFA可以成为强大的身份和访问管理政策的主要组成部分。为安全目的正确设置此系统将减少网络攻击成功的所有机会。

基于证书的认证(Certificate-based authentication)

使用数字证书来识别用户。这种解决方案通常用于所有端点-用户、移动设备、机器等。这就是使这种形式的身份验证独一无二的原因。大多数基于证书的身份验证解决方案都配备了基于云的管理平台,使管理员更容易为员工管理、监控和签发新证书。

不同场景下的认证方式

唯一身份认证(Identification Authentication)

通过生物识别认证,常用的有Face ID,Touch ID。

API认证(API authentication)

常用的三方API认证方式有:

  1. Basic Authentication

  2. API Key

  3. OAuth

用户认证(User authentication)

  1. Single-Factor,单因子认证

  2. Two-Factor,双因子认证

  3. Single Sign-On,单点登录

  4. Multi-Factor,多因子认证

保险库认证(Vault authentication)

在保险库系统中,当根据内部或外部系统验证有关用户或机器的信息时,就会发生身份验证。这些系统最常见的身份验证形式是通过 API 或 CLI 进行的。

web应用程序认证(Web application authentication)

  1. Cookie-Based authentication

  2. Token-Based authentication

  3. Third party access(OAuth, API-token)

  4. OpenId

  5. SAML

无线认证(Wireless authentication)

对于WIFI系统,他的第一道防线就是认证。一个WIFI可以是开放的,也可以是 WPA2-PSK的。

邮箱认证(Email authentication)

电子邮件身份验证有几种不同的方法。最常用的标准是 SPF、DFIM 和 DMARC。所有这些标准都是对 SMTP 的补充,因为它不包含任何身份验证机制。

数据库认证(Database authentication)

在这种情况下,身份验证对于确保正确的人访问特定数据库以将信息用于他们的工作非常重要。他使用安全套接字层 (SSL) 协议或使用第三方服务进行。

支付认证(Payment authentication)

存在这种类型的身份验证是为了确保某人不会滥用其他人的数据进行在线交易。大多数时候,身份确认至少发生两次,或者更多。最常用的方法是

  1. 3D secure

  2. Card Verification Value

  3. Address Verification

服务器与网络认证(Server and network authentication)

就像在任何其他形式的身份验证中一样,网络级身份验证方法确认用户就是他们声称的身份。

在这种情况下,系统将合法用户与非法用户区分开来。

最常见的形式是双因素、令牌、计算机识别和单点登录身份验证方法。

护照与文档认证(Passport and document authentication)

我们验证护照和其他文件的方式是通过数据库。

一旦用户验证了自己,他们就需要对自己进行身份验证以验证他们的用户身份。

最常用的做法是基于会话的身份验证和 Open ID Connect 身份验证。

网上银行认证(Online banking authentication)

对于银行而言,建立适当的身份验证系统非常重要,以确保用户是他们所说的人而不是欺诈者。

他们大量使用 PIN 码和其他形式的基于知识的识别。

此外,他们转向多因素身份验证方法,以防止绝大多数依赖于被盗凭据的攻击。

远程认证(Remote authentication)

对于拥有远程工作策略以保护其敏感信息和数据的公司而言,这种类型的身份验证非常重要。

最常见的远程身份验证方法是质询握手身份验证协议 (CHAP)、Microsoft 的 CHAP 实现 (MS-CHAP) 和密码身份验证协议 (PAP)

加密认证(Cryptography authentication)

密码学是计算机安全中的一个重要领域。

它是通过公开交流传递私人信息的方法之一。

在这种情况下,只有拥有密钥的接收者才能读取加密消息。

最常见的身份验证方法是密码身份验证协议 (PAP)、身份验证令牌、对称密钥身份验证和生物特征身份验证。

参考

  • https://www.veriff.com/blog/types-of-authentication-methods

上一页有关权限设计的思考下一页JWT

最后更新于3个月前

这有帮助吗?