你的位置:首页 > 软件开发 > ASP.net > 使用OAuth、Identity创建WebApi认证接口供客户端调用

使用OAuth、Identity创建WebApi认证接口供客户端调用

发布时间:2016-07-24 22:00:12
前言 现在的web app基本上都是前后端分离,之前接触的大部分应用场景最终产品都是部署在同一个站点下,那么随着WebApi(Restful api)的发展前后端实现的完全分离,前端不在后端框架的页面基础上开发,也就告别传统上的Session判断客户端登陆用 ...

使用OAuth、Identity创建WebApi认证接口供客户端调用

前言

      现在的web app基本上都是前后端分离,之前接触的大部分应用场景最终产品都是部署在同一个站点下,那么随着WebApi(Restful api)的发展前后端实现的完全分离,前端不在后端框架的页面基础上开发,也就告别传统上的Session判断客户端登陆用户的情况。OAuth已发布很久,Asp.Net  Identity也发布很久。看了几篇朋友写的博客才把这几个sample写完,也解决了之前我对前后端完全分离产生的一些疑惑。

 

OAuth2.0的4种角色

  • resource owner资源所有者:比如twitter用户,他在twitter的数据就是资源,他自己就是这些资源的所有者
  • resource server资源服务器:保存资源的服务器,别人要访问受限制的资源就要出示 Access Token(访问另牌)
  • client客户端:一个经过授权后,可以代表资源所有者访问资源服务器上受限制资源的一方。比如 开发者开发的应用
  • authorization server授权服务器:对 资源所有者进行认证,认证通过后,向 客户端发放 Access Token(访问另牌

OAuth2.0取得Access Token的4种方式

  • 授权码模式(authorization code)
  • 简化模式(implicit)
  • 密码模式(resource owner password credentials)
  • 客户端模式(client credentials)

使用Oget='_blank'>win实现密码模式(OAuth2.0密码模式)

1、使用VS2015创建一个Empty WebApi项目。

2、使用Nuget导入核心命名空间。

    Install-Package Microsoft.AspNet.WebApi.Owin3、添加Owin入口类    第一个包提供Asp.Net Identity Owin支持,第二个则提供了基于EF SQL Server的Owin实现。这里要提下Microsoft.AspNet.Identity.Core包,这里主要是Asp.net Identity实现的相关接口,比如IUser、IRole、IPasswordHasher、IUserStore<TUser>、IUseRoleStore<TUser>、IRoleStore<TUser>、IClamisIdentityFactory<TUser>、UserManager<TUser>、IdentiyResult。 

namespace AspNet_Identity_Demo.Models{  public class AuthContext:IdentityDbContext<IdentityUser>  {    public AuthContext() : base("AuthContext")    { }  }}

原标题:使用OAuth、Identity创建WebApi认证接口供客户端调用

关键词:web

web
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。