开源第三方登录组件OAuthLogin2.0 架构解析及开源地址
OAuthLogin2.0介绍地址:
入门地址:http://www.cnblogs.com/dazhuangtage/p/6306133.html
Nuget地址:https://www.nuget.org/packages/OAuthLogin2.0/
关于上篇文章园友评论的几个问题说明:
1:为什么内置了那么多没用的平台?
答:内置的那些平台均是上个电商项目所用到的平台,昨天在做一个项目的时候,需要用到QQ登录,我就拿这个项目扩展了下。后来觉得应该能帮助其他人,然后就放出来了。
2:开源地址呢?????
答:往后面看。。。。。
我不觉得我是一个文笔很好的人,所以我更喜欢上图,下面我放上架构图,大家看图应该更容易理解:
平台命名机制:

平台和应用之间的关系:

用户授权过程:

授权回调过程:

异常处理机制:

MVC使用教程:
public ActionResult Auth(string etpname)
{
var etp = EtpName.FromString(etpname);
var plateFrom = Platform.Find(etp);
if (plateFrom == null)
return Content("不支持的第三方登录平台!");
return Redirect(plateFrom.Applications[].GenerateAuthorizationUrl(etpname));
}
回调方法:
public async Task<ActionResult> AuthCallBack()
{
var state = Request.QueryString["state"];
var etp = EtpName.FromString(state);
var plateFrom = Platform.Find(etp);
if (plateFrom == null)
return Content("回调参数错误!");
var tokent = await plateFrom.Applications[].GetTokenAsync(System.Web.HttpContext.Current.Request);
if (string.IsNullOrEmpty(tokent.OpenId))
{
return Content("获取用户信息失败!");
}
return Content("获取用户信息成功!" + tokent.ToString());
}
开源地址:https://github.com/dazhuangtage/OAuthLogin2.0
还有一个OAuthManager框架,用来管理授权信息的,不知道对大家有没有用。。。反正目前我正在用。。。。OAuthManager框架参考了Ef的DbContent架构。。大家觉得有用,就点个赞吧。。。
开源第三方登录组件OAuthLogin2.0 架构解析及开源地址的更多相关文章
- 开源第三方登录组件OAuthLogin2.0 解析及开源地址
OAuthLogin2.0介绍地址: 博客地址:http://www.cnblogs.com/dazhuangtage/p/6306133.html Nuget地址:https://www.nuget ...
- 开源第三方登录组件OAuthLogin2.0 支持QQ,阿里巴巴,淘宝,京东,蘑菇街,有赞等平台
Nuget地址:https://www.nuget.org/packages/OAuthLogin2.0/ 项目结构说明: AuthorizationProviders文件夹下主要存放内置的授权平台. ...
- 鸿蒙开源第三方件组件——轮播组件Banner
目录: 1.功能展示 2.Sample解析 3.Library解析 4.<鸿蒙开源第三方组件>系列文章合集 前言 基于安卓平台的轮播组件Banner(https://github.com/ ...
- 第三方登录过程—OAuth2.0协议
---恢复内容开始--- 理清思路 1.在第三方注册成为开发者,拿到第三方给的client_id(app_id---就像你的身份证.QQ号)和client_secret(就像你的QQ密码): 2.填写 ...
- OAuthLogin2.0
开源第三方登录组件OAuthLogin2.0 支持QQ,阿里巴巴,淘宝,京东,蘑菇街,有赞等平台 Nuget地址:https://www.nuget.org/packages/OAuthLogin ...
- 关于Linux开源项目基础组件make编译流程
关于Linux开源项目基础组件make编译流程 非常多Linux开源项目都会用到编译出可运行文件的make.这个是有一套流程的. 首先,GNU构建系统:https://en.wikipedia. ...
- 使用OAuth2.0协议的github、QQ、weibo第三方登录接入总结
目录 第三方接入总结 OAuth2.0介绍 github OAuth2.0登录接入 国内第三方应用商SDK使用 微博SDK 腾讯QQ SDK passport.js插件使用 安装 相关中间件.路由 返 ...
- 鸿蒙开源第三方组件 ——B站开源弹幕库引擎的迁移(上)
鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 目录: 一.弹幕库的基础知识 二.弹幕库的使用方法 三.sample解析 四.作者系列文章合集 前言 ...
- 鸿蒙开源第三方组件——SlidingMenu_ohos侧滑菜单组件
目录: 1.前言 2.背景 3.效果展示 4.Sample解析 5.Library解析 6.<鸿蒙开源第三方组件>文章合集 前言 基于安卓平台的SlidingMenu侧滑菜单组件(http ...
随机推荐
- windows 10最新版镜像资源下载 Win10 ISO下载教程
最近发现原创写的文章被无良爬走,而且变成了无图尬文,所以开头附上原文地址: http://www.cnblogs.com/xueyudlut/p/7497975.html -------------- ...
- Hadoop HBase概念学习系列之HBase里的长表VS宽表VS窄表(十五)
有时候啊,HBase表的设计方案通常,还会考虑如下一些因素,当然,这只是考虑范围里的部分呢. 更多的行还是更多的版本?后者使用了HBase自带的功能.但是需要在列簇中定义最大版本数,这样做可能有风险. ...
- 【Java 笔记】 java 格式化输出
public static void main(String[] args) { /** * 格式化形式 * %[argument_index$][flags][width][.precision]c ...
- 我对git的快速使用和理解
收藏较好的,分享给大家 https://mp.weixin.qq.com/s/k4tU8snvssyKJ2WkvkFrZA
- python第二十五课——闭包
满足闭包的三个条件: 1).有外部函数和内部函数这样的结构 2).外部函数中定义的变量被内部函数所使用 3).内部函数对象作为返回值被外部函数返回 演示闭包的定义和使用: def outer(): a ...
- CF585D Lizard Era: Beginning
嘟嘟嘟 题面我是不会咕的(没有真香):有\(n(n \leqslant 25)\)个任务和三个人,每次任务给出每个人能得到的值,每次任务选两个人,使\(n\)个任务结束后三个人得到的值是一样的,且尽量 ...
- flex布局中flex-shrink的计算规则
下面代码来自MDN html部分: <p>the width of content is 500px, flex-basic of flex item is 120px.</p> ...
- TensorFlow入门:线性回归
随机.mini-batch.batch(见最后解释) 在每个 epoch 送入单个数据点.这被称为随机梯度下降(stochastic gradient descent).我们也可以在每个 epoch ...
- [转] Eclipse安装SVN插件
eclipse里安装SVN插件,一般来说,有三种方式: 1. 直接下载SVN插件,将其解压到eclipse的对应目录里 2. 使用eclipse 里Help菜单的“Install New Softwa ...
- idea 如何优雅的添加.ignore 忽略不必要提交的文件
最近有点时间然后就跑去搜了下idea热门的插件,一不小心发现了一个.ignore插件.有过在idea使用git都知道.gitignore文件,而这个插件就是能优雅的帮我们做这件事. 首先先讲下安装这个 ...