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="OAuthLogin" type="OAuthLogin.OAuthLoginConfig,OAuthLogin2.0" />
</configSections>

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

  <OAuthLogin>
<etps>
<etp name="qq" 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);
return Redirect(platform.Applications[].GenerateAuthorizationUrl("Test"));
}
}

获取回调结果:

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

结果如下:

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

开源第三方登录组件OAuthLogin2.0 支持QQ,阿里巴巴,淘宝,京东,蘑菇街,有赞等平台的更多相关文章

  1. 开源第三方登录组件OAuthLogin2.0 解析及开源地址

    OAuthLogin2.0介绍地址: 博客地址:http://www.cnblogs.com/dazhuangtage/p/6306133.html Nuget地址:https://www.nuget ...

  2. 开源第三方登录组件OAuthLogin2.0 架构解析及开源地址

    OAuthLogin2.0介绍地址: 入门地址:http://www.cnblogs.com/dazhuangtage/p/6306133.html Nuget地址:https://www.nuget ...

  3. OAuthLogin2.0

    开源第三方登录组件OAuthLogin2.0 支持QQ,阿里巴巴,淘宝,京东,蘑菇街,有赞等平台   Nuget地址:https://www.nuget.org/packages/OAuthLogin ...

  4. OAuth2 通用组件源码下载(支持新浪微博、QQ、淘宝)(转载)

    转载地址:http://www.cyqdata.com/download/article-detail-54302 OAuth2 社区通用组件说明:   源码为C#(.NET)写成,目前支持新浪微博. ...

  5. 鸿蒙开源第三方件组件——轮播组件Banner

    目录: 1.功能展示 2.Sample解析 3.Library解析 4.<鸿蒙开源第三方组件>系列文章合集 前言 基于安卓平台的轮播组件Banner(https://github.com/ ...

  6. 第三方登录过程—OAuth2.0协议

    ---恢复内容开始--- 理清思路 1.在第三方注册成为开发者,拿到第三方给的client_id(app_id---就像你的身份证.QQ号)和client_secret(就像你的QQ密码): 2.填写 ...

  7. 方便代理下单的EcStore收货地址一键分析插件,同时支持淘宝/京东/一号店

    使用EcStore开展分销的网站,代理需要经常代客下单,每个客户收货地址都不同,要选择和填写多个内容才能完成地址输入:省.市.区.详细地址.收货人姓名.手机电话等,非常麻烦,也容易输入错误.安装EcS ...

  8. 老牌开源Office操作组件NPOI现已支持.NET Core

    昨天在微信群里听到老牌Excel开发利器NPOI的作者瞿总说4.6.1版本的NPOI已经支持.NET Standard 2.0了,这也就意味着你可以在.NET Core中使用NPOI了. 作者:依乐祝 ...

  9. QQ、淘宝、阿里旺旺在线网页链接代码及详解 很实用

    你可直接到官网去生成代码,简单.方便,相信都能上网的你,对这不会有难度的,认识字的就行,赶紧去吧!   1.阿里旺旺官网: http://page.1688.com/html/wangwang/dow ...

随机推荐

  1. mariadb cache

    Since MariaDB Galera cluster versions 5.5.40 and 10.0.14 you can use the query cache. Earlier versio ...

  2. IP组播技术介绍及实现例子

    引 言 近年来,随着Internet的迅速普及和爆炸性发展,在Internet上产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网 络视频会议.网络音频/视频广播.AOD/VOD.股市行情发布. ...

  3. 如何编译生成 dll

    原文:http://blog.csdn.net/qianchenglenger/article/details/21599235 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[ ...

  4. elasticSearch indices VS type

    elasticSearch 的中文文档 http://es.xiaoleilu.com/010_Intro/05_What_is_it.html https://www.elastic.co/blog ...

  5. Redis详解

    转自:http://blog.csdn.net/eroswang/article/details/7080412 1.  MySql+Memcached架构的问题 1.MySQL需要不断进行拆库拆表, ...

  6. jQuery修改css属性

    jQuery CSS 操作jQuery 拥有三种用于 CSS 操作的重要函数:$(selector).css(name,value)$(selector).css({properties})$(sel ...

  7. iOS开发——沙箱

    iphone沙箱模型的有三个文件夹,documents,tmp,Library.有时开发时要求我们保存一些数据在本地,这就用到了. 1.Documents 目录:您应该将所有de应用程序数据文件写入到 ...

  8. FIFO存储器

    FIFO( First In First Out)简单说就是指先进先出.由于微电子技术的飞速发展,新一代FIFO芯片容量越来越大,体积越来越小,价格越来越便宜.作为一种新型大规模集成电路,FIFO芯片 ...

  9. 批量检查APK是否具有指定的权限。

    为测试组的妹子提供的. 效果如下: 目录结构如下: 源代码思路: 1.将apk文件变为zip文件.这里是修改后缀 2.解压文件到指定目录.可以只解压其中mainfest.xml文件 3.移动xml文件 ...

  10. UVa 900 - Brick Wall Patterns

    题目大意:用1*2的砖头建n*2的墙,问有多少种不同的砖头排列方式?与斐波那契序列相似. #include <cstdio> #define MAXN 60 #define N 50 un ...