WebApi基于令牌的简述和应用

本文介绍了OAuth2.0的基本概念,包括授权码模式和简化模式,并详细阐述了如何在WebApi项目中实现基于令牌的认证。通过安装相关NuGet包,创建Startup类和SimpleAuthorizationServerProvider类,以及在控制器方法上添加[Authorize]标记,确保接口调用的安全性。通过Postman演示了获取和使用access_token进行接口调用的过程。
摘要由CSDN通过智能技术生成

我们知道WEB网站的身份验证一般通过session或者cookie完成的,登录成功后客户端发送的任何请求都带上cookie,服务端根据客户端发送来的cookie来识别用户。然而在WebAPI中,我们采用类似的方式,带有验证的令牌模式,方便移动端和项目内部调用,能够解耦合,便于维护,可扩展延伸。

一、OAuth简介

1、什么是OAuth
OAuth是一个关于授权(Authorization)的开放网络标准,目前的版本是2.0版。注意是Authorization(授权),而不是Authentication(认证)。用来做Authentication(认证)的标准叫做openid connect,我们将在以后的文章中进行介绍。
2、名词定义
理解OAuth中的专业术语能够帮助你理解其流程模式,OAuth中常用的名词术语有4个,为了便于理解这些术语,我们先假设一个很常见的授权场景:
你访问了一个日志网站(third party application),你(client)觉得这个网站很不错,准备以后就要在这个网站上写日志了,所以你准备把QQ空间(Resource owner)里面的日志都导入进来。此日志网站想要导入你在QQ空间中的日志需要知道你的QQ用户名和密码才行,为了安全期间你不会把你的QQ用户名和密码直接输入在日志网站中,所以日志网站帮你导航到了QQ认证界面(Authorization Server),当你输入完用户名和密码后,QQ认证服务器返回给日志网站一个token, 该日志网站凭借此token来访问你在QQ空间中的日志。
1) third party application 第三方的应用,想要的到Resource owner的授权
2) client 代表用户
3) Resource owner 资源拥有者,在这里代表QQ
4) Authorization server 认证服务,这里代表QQ认证服务,Resource owner和Authorization server可以是不同的服务器,也可以是同一个服务器。
3、OAuth2.0中的四种模式
OAuth定义了四种模式,覆盖了所有的授权应用场景:
1) 授权码模式(authorization code)
2) 简化模式(implicit)
3) 密码模式(resource owner password credentials)
4) 客户端模式(client credentials)
前面我们假设的场景可以用前两种模式来实现,不同之处在于:
当日志网站(third party application)有服务端,使用模式1;
当日志网站(third party application)没有服务端,例如纯的js+html页面需要采用模式2;
本文主描述利用OAuth2.0实现自己的WebApi认证服务,前两种模式使用场景不符合我们的需求。

二、基于令牌的认证和应用

1、需要安装的工具:postman-4.1.2
可以百度安装pos

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值