(转)【ASP.NET Web API】Authentication with OWIN
2015-11-03 10:29
435 查看
概述
本文说明了如何使用 OWIN 来实现 ASP.NET Web API 的验证功能,以及在客户端与服务器的交互过程中,避免重复提交用户名和密码的机制。客户端可以分为两类:
JavaScript:可以理解为网页
Native:包括手机 app、windows 客户端等等
步骤
通过用户名和密码,获取 access token,请参考:
http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/
实现 refresh token 机制,请参考:
http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/
示例代码
请参考:https://github.com/attilah/AngularJSAuthentication
验证流程
用户第一次访问 api,提交用户名、密码和 client id(即应用程序 id,说明来自哪个应用程序)。
服务器返回 access token(有效期较短,如半小时)和 refresh token(有效期较长,如半年)。
半小时内,用户可使用 access token 与服务器交互,不需要提交用户名和密码。
半小时后,access token 到期,用户需提交 refresh token 和 client id 来获取新的 access token。
每次刷新 access token 后,原 refresh token 会被删除,然后生成一个新的 refresh token,有效期顺延。
如果用户在 refresh token 有效期内没有访问过服务器,那么 refresh token 失效,下次访问时需提交用户名和密码。
理解原理远比看懂示例代码重要,按照上述的流程,可自定义代码来实现更多细节的把控。
转:http://www.cnblogs.com/csharpstyle/articles/4928019.html
相关文章推荐
- asp.net出现“未将对象引用设置到对象的实例”
- ASP.NET中防止页面多次加载的IsPostBack属性
- 玩转树莓派--网卡配置
- 玩转树莓派--图形界面登陆
- 动态网站开发技术学习1:走进ASP.NET
- php、asp 发起post请求
- ASP.NET : 如何将服务端的多个文件打包下载
- ASP.NET : 如何将服务端的多个文件打包下载
- 【Asp.Net MVC】日常---路由
- asp.net 微信支付源码demo 官方坑爹
- .NET中First,FirstOrDefault,Single,SingleOrDefault的区别是什么
- ASP.NET MVC API 路由生成规则
- Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)
- ASP.NET如何使用web服务的会话状态
- asp.net中“从客户端中检测到有潜在危险的Request.Form值”错误的解决办法
- ASP.NET Identity Authentication
- AspectJ AOP切面编程(XML配置)
- vs2013下, asp.net mvc5 使用和发布rdlc报表的步骤 ,使用ef来获取数据
- Asp.net中的页面跳转及post数据
- CS1061: “ASP.send_aspx”不包含“sender_TextChanged”的定义,并且找不到可接受类型为“ASP.send_aspx”的第一个参数的扩展方法“sender_Text