一般在webapi接口中,为了防止接口被随意调用,都会验证用户身份。
然而不能每次调用接口都需要用户输入用户名密码来验证,这时就需要授权颁发令牌了,持有令牌就可以访问接口,接口也能验证令牌身份。

简单流程

1、新建一个webapi项目,添加以下nuget包
Microsoft.Owin.Security.OAuth
Microsoft.AspNet.WebApi.Owin
Microsoft.Owin.Host.SystemWeb(这个是让owin可以跑在IIS上)

2、新建OAuthServerProvider类继承Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider,重写ValidateClientAuthenticationGrantResourceOwnerCredentials方法。
实现验证与授权。

3、新建RefreshTokenServerProvider类继承Microsoft.Owin.Security.Infrastructure.AuthenticationTokenProvider,重写CreateReceive方法。
实现刷新token的自定义生成和验证。

4、新建AccessTokenServerProvider类继承Microsoft.Owin.Security.Infrastructure.AuthenticationTokenProvider,重写Create方法。
实现访问token的自定义生成。

5、新建Startup类。配置OAuth启用OAuthServer。

6、资源服务器启用OAuthBearer。

7、新建OAuthAttribute类继承System.Web.Http.AuthorizeAttribute,重写IsAuthorized方法。
实现自定义验证规则。

8、资源接口启用OAuthAttribute限制。

最新文章

  1. OpenSSL 使用拾遗(一)---- 生成 pkcs12 文件
  2. Flash插件地址
  3. glyphicons-halflings-regular.woff 404
  4. HDU 4513 吉哥系列故事——完美队形II(Manacher)
  5. python的 map,filter, reduce, enumerate
  6. python--flask使用
  7. Hibernate HQL注入攻击入门
  8. java集合类(六)About Queue
  9. E: Sub-process /usr/bin/dpkg returned an error code (1)
  10. nginx、fastCGI、php-fpm关系梳理(转载参考)
  11. 「Foundation」字符串
  12. 控制结构(4) 局部化(localization)
  13. 在做vue计算属性,v-for处理数组时遇到的一个bug
  14. 阿里云服务器Centos 7安装PHP
  15. 程序中使用now()函数对性能的影响
  16. memset struct含有string的崩溃
  17. PHP Filter 函数 日常可用
  18. 出了一个js的题。
  19. java stream collector
  20. 使用angular路由切换后 轮播以及iscrollJs失效的问题

热门文章

  1. VUE 同一页面路由参数变化,视图不刷新的解决方案
  2. Ubuntu16.0.4安装OpenCV3.4.2
  3. 使用HOSTNAMECTL配置主机名
  4. SpringBoot系列教程web篇之过滤器Filter使用指南
  5. zuul 熔断后重试
  6. 在ensp上的动态NAT的配置
  7. HMAC哈希消息认证码
  8. FineUI 模板列动态删除方法
  9. hadoop2.x大数据视频教程(十二天学会)
  10. python 递归-汉诺塔