您的位置:首页 > 编程语言 > ASP

(转)【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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: