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[0].GenerateAuthorizationUrl("Test"));}}

获取回调结果:

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

结果如下:

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

转载于:https://www.cnblogs.com/dazhuangtage/p/6306133.html

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

  1. 【iOS_GitHub】评分条/星级条(类似于淘宝/京东/1号店/亚马逊等商城类的评分条,支持0.5分哦)

    RatingBar 评分条(类似于淘宝/京东/1号店/亚马逊等商城类的评分条,支持0.5分哦) 先上图,看一下是否符合你的场景吧!   Function Description 点击评分 滑动评分 个 ...

  2. 今日芯声 | 美团王兴回应不支持支付宝:淘宝为什么不支持微信支付?

    "今日芯声"是读芯术推出的一档简读栏目,汇聚每日国内外最新最热的AI应用资讯,敬请关注. 1.美团王兴回应不支持支付宝:淘宝为什么不支持微信支付? 近日,有用户在使用美团支付时发现 ...

  3. Uni项目启动微信、QQ、淘宝、抖音、京东等APP的方法(转载)

    我们在开发 App 应用中,经常会遇到打开第三方程序的场景,比如打开手机淘宝.通过第三方浏览器打开一个 url 等等. App不像网页可以使用http超链接互相跳转,但手机os设计了scheme机制, ...

  4. 腾讯QQ、淘宝旺旺、微软MSN、谷歌Gtalk 在线客服代码

    腾讯QQ.淘宝旺旺.微软MSN.谷歌Gtalk 在线客服代码 腾讯QQ在线客服代码的生成 访问: http://imis.qq.com/webpresence/code.shtml 选择在线状态图片风 ...

  5. 在网页嵌入QQ+MSN+淘宝旺旺+Gtalk快速对话框官方代码的方法

    如何在网页中实现单击链接弹出对话窗口 http://www.baidu.com/s?bs=%CD%F8%D2%B3%D6%D0+%B5%A5%BB%F7%D2%BB%CF%C2qq%BE%CD%CD% ...

  6. php curl如何模拟登录阿里妈妈|登陆阿里妈妈获取淘宝客推广数据

    php curl如何模拟登录阿里妈妈|登陆阿里妈妈获取淘宝客推广数据 模拟登录|登陆阿里妈妈 淘宝 阿里联盟账号|php模拟登录|登陆阿里妈妈 获取推广数据 佣金 现在api门槛高了 一些站长就不能用 ...

  7. 老生常谈:微博,QQ,淘宝三种开放平台对比

    背景: 最近做一个导购网站(aizher.com)尝试,为了方便用户登陆,分别引入新浪微博,QQ,淘宝三种平台上的开放接口接入系统中. 分别使用了下新浪微博,QQ,淘宝平台三种方式,虽然都是开发平台, ...

  8. 腾讯QQ和淘宝旺旺在线客服代码

    腾讯QQ和淘宝旺旺在线客服代码,可以放上阿里旺旺和QQ的号码,平时隐藏在左侧,鼠标移上后显示,与其它客服表现的形式大致一样. <!!!DOCTYPE html PUBLIC "-//W ...

  9. 老生常谈:微博,QQ,淘宝三种开发平台对比 笔记

    背景: 最近做一个导购网站(aizher.com)尝试,为了方便用户登陆,分别引入新浪微博,QQ,淘宝三种平台上的开放接口接入系统中. 分别使用了下新浪微博,QQ,淘宝平台三种方式,虽然都是开发平台, ...

  10. HTML技巧-嵌入QQ+MSN+淘宝旺旺+Gtalk快速对话框官方代码的方

    文地址:HTML技巧-嵌入QQ+MSN+淘宝旺旺+Gtalk快速对话框官方代码的方法 作者:德尔斐-清风 在网页嵌入QQ+MSN+淘宝旺旺+Gtalk快速对话框官方代码的方法 1.如何在网页上显示腾讯 ...

最新文章

  1. 通俗易懂!使用Excel和TF实现Transformer
  2. [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 )
  3. zookeeper+kafka集群部署+storm集群
  4. Java 转型问题(向上转型和向下转型)
  5. python-学习 协程函数 模块与包
  6. 11寸笔记本电脑推荐_3000-20000元高性价比笔记本电脑推荐 含CPU天梯图、显卡天梯图 2020年11月更新...
  7. Android的Window类详解
  8. mysql_result 对应mysqli哪个_php – 如何在mysqli中转换mysql_result?
  9. 取多补少C语言,leetcode题目: 数字的补数 的C语言解法
  10. git学习入门~~~
  11. 5.4广义表的定义5.5广义表的存储结构
  12. loadrunner11完整卸载
  13. 面试时,如何向公司提问?
  14. Destoon 自定义模块
  15. 操作系统期末知识点浓缩总结复习
  16. nginx image_filter模块415问题
  17. iOS逆向-手把手教你写支付宝蚂蚁森林收集能量助手
  18. DSPE-Thiol; DSPE-SH; 二硬脂酰磷脂酰乙醇胺改性巯基
  19. rgb与16进制颜色是如何相互转换的?
  20. centos8 解决yum重装

热门文章

  1. 人体红外传感器HC-SR501特点及使用介绍
  2. 2021年中国涂料行业现状分析(附产量、需求量、市场规模、进出口数量等)[图]
  3. 读书笔记--《原则》
  4. 微信恋爱话术表白漫画脸头像制作生成小程序源码
  5. python中if语句的实例_python的if语句里怎样写两个条件
  6. html如何设置顶部,css中文字如何设置在顶部
  7. 计算机主板 上电顺序,笔记本电脑主板的上电过程
  8. 【CodeForces】[372A]Counting Kangaroos is Fun
  9. wordpress图像大小_为WordPress优化图像
  10. Spring系列之一:Spring入门