HTML5技术

开源第三方登录组件OAuthLogin2.0 支持QQ,阿里巴巴,淘宝,京东,蘑菇街,有赞等平台 - 大壮他哥

字号+ 作者:H5之家 来源:H5之家 2017-01-20 15:00 我要评论( )

Nuget地址:https://www.nuget.org/packages/OAuthLogin2.0/项目结构说明: AuthorizationProviders文件夹下主要存放内置的授权平台。 CustomException文件夹主要存放各个平台对应的错误处理机制。 说下涉及到的几个名词:平台: 定义一个数据结构,用于规范外

Nuget地址:https://www.nuget.org/packages/OAuthLogin2.0/ 项目结构说明:

AuthorizationProviders文件夹下主要存放内置的授权平台。

CustomException文件夹主要存放各个平台对应的错误处理机制。

 

说下涉及到的几个名词: 平台:

  定义一个数据结构,用于规范外部交易平台名称。名称是业务系统为Etp分配的唯一标识,由不限长度的字符组成。由于极易发生拼写错误,强烈建议在程序中采用如下规范写法:

  (1)需要使用某一平台的名称字符串时,应使用其对应的静态字段获取实例,然后使用Name字段获取名称字符串;

  (2)需要对一个名称字符串进行处理时,应先使用FromString方法获取其对应的实例,然后使用相应的实例方法进行处理;

  (3)扩展机制:如果开发人员要使用未预定义的平台,可以定义自己的枚举器,使用静态字段存储Etp实例。

应用:

  描述平台中的应用,存储该应用的基本接口信息。

  应用是平台用来管理接口调用权限的机制。业务系统方要访问平台接口必须先申请一个应用,经平台方审核通过后才具有调用相应接口的权限。

 

使用教程:   Nuget安装:Install-Package OAuthLogin2.0

 

配置文件修改如下:

1:在configSections中添加节点:

<configSections> <section name=type=/> </configSections>

 

2:在configSections节点下添加节点:

<OAuthLogin> <etps> <etp authorizationUrl="https://graph.qq.com/oauth2.0/authorize" tokenUrl="https://graph.qq.com/oauth2.0/token" apiUrl="https://graph.qq.com/oauth2.0/me"> <apps> <add appkey="" secret="" redirectUrl="" /> </apps> </etp> </etps> <AuthorizationProviders> <add etp="qq" type="OAuthLogin.QQAuthorizationProvider" assembly="OAuthLogin2.0" /> </AuthorizationProviders> <EtpExceptionBuilders> <add etp="qq" type="OAuthLogin.QQExceptionBuilder" assembly="OAuthLogin2.0" /> </EtpExceptionBuilders> </OAuthLogin>

  

 

跳转到授权URL:

public class HomeController : Controller { public ActionResult Index() { var platform = Platform.Find(EtpName.QQ); )); } }

获取回调结果:

public ActionResult Index() { var palteFrom = Platform.Find(EtpName.QQ); var token=palteFrom.Applications[0].GetToken(System.Web.HttpContext.Current.Request);//GetToken支持异步获取,异步方法为GetTokenAsync return Content(token.ToString()); }

结果如下:

 

放上一张核心图,详细会在下篇讲:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 微信小程序开源项目库汇总 - OpenDigg

    微信小程序开源项目库汇总 - OpenDigg

    2017-01-14 13:03

  • 记一次企业级爬虫系统升级改造(四):爬取微信公众号文章(通过搜狗与新榜等第三方平台) - 彩色铅笔

    记一次企业级爬虫系统升级改造(四):爬取微信公众号文章(通过搜狗

    2017-01-12 10:01

  • 120项改进:开源超级爬虫Hawk 2.0 重磅发布! - FerventDesert

    120项改进:开源超级爬虫Hawk 2.0 重磅发布! - FerventDesert

    2017-01-03 13:01

  • 免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七) - 彭泽0902

    免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七

    2016-12-14 12:00

网友点评
(