Session、Token、Jwt、Oauth2 区别

本文详细解读了Java应用中认证(身份验证)、授权(权限分配)、凭证(用户凭证)以及Cookie、Session和Token的区别,重点介绍了JWT在现代应用中的角色。

在我们的 java 业务系统中,或多或少的会涉及到权限、认证等类似的概念。但是很多小伙伴还是傻傻的分不清这些的概念和区别,今天我们就来好好的捋一捋,将其区别的概念深深的刻在脑海中。

                                 认证 Authentication

百度百科中对于认证的解释是:身份验证(Authentication),在 .NET Framework 安全中,通过对照某些机构检查用户的凭据,发现和验证主体标识的过程。

当然,今天我们来讨论肯定不会用这么生硬的词来解释的。

  • 通俗地讲就是 验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功)

常见的认证方式:

  1. 用户名密码登录

  2. 邮箱发送登录链接

  3. 手机号接收验证码

  4. 只要你能收到邮箱/验证码,就默认你是账号的主人


 

                                  授权 Authorization


 

所谓授权,就是某个用户授予其他应用访问该用户某些资源的权限。

例如,在你安装手机应用的时候,APP肯定会跳出来问是否允许授予权限(访问相册、位置等权限);你在访问微信小程序时,当登录时,小程序会询问是否允许授予权限(获取昵称、头像、地区、性别等个人信息)

实现授权的方式有:cookie、session、token、OAuth


                                   凭证 Credentials

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值