你的位置:首页 > 软件开发 > ASP.net > OAuth在WebApi中的使用,前后台分离的调用方式

OAuth在WebApi中的使用,前后台分离的调用方式

发布时间:2015-12-02 19:00:04
前段时间由于公司架构服务层向WebApi转换,就研究了OAuth在WebApi中的使用,这中间遇到了很多坑,在此记录一下OAuth的正确使用方式。1、 OAuth是做什么的?  在网上浏览时,大家都见过这样的功能:网站A提供了第三方登录服务,比如使用新浪微博、QQ账户登录。 ...

前段时间由于公司架构服务层向WebApi转换,就研究了OAuth在WebApi中的使用,这中间遇到了很多坑,在此记录一下OAuth的正确使用方式。

1、  OAuth是做什么的?

  在网上浏览时,大家都见过这样的功能:网站A提供了第三方登录服务,比如使用新浪微博、QQ账户登录。用户使用第三方账户登陆后,第三方返回Token给网站A,当网站A调用第三方服务请求登录用户信息时需传递该Token给第三方,第三方才允许该服务请求。之后的每次请求无需再次认证,直接使用该Token即可。这就是OAuth的典型应用。

2、  简单使用介绍 (具体使用OAuth的方法请参考:在get='_blank'>ASP.NET中基于Owin OAuth使用Client Credentials Grant授权发放Token)

  2.1、用户登录的过程即是获取Token的过程,前端用户登录示例代码如下:

OAuth在WebApi中的使用,前后台分离的调用方式OAuth在WebApi中的使用,前后台分离的调用方式
 1 $.ajax({ 2       type: "POST", 3       url: api_address + "token", //api_address为WebApi服务地址,由于OAuth的使用中设置了属性TokenEndpointPath = new PathString("/token"),所以请求到“token”链接时即可自动进入认证流程。 4       data: { grant_type: "password", username: username, password: password, ran: Math.random() },//传递用户名、密码、认证方式 5       dataType: "json", 6       success: function (result) { 7         if (result.access_token && result.access_token.length > 0) { 8            //result.access_token即是有效的服务调用凭证,可以把该值存入到Cookie中,以备下次使用。 9 callback(1, "登录成功。");10         }11         else {12           callback(0, "未知错误!");13         }14       },15       error: function (16         callback(0, 17       }18     });

原标题:OAuth在WebApi中的使用,前后台分离的调用方式

关键词:web

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