开源第三方登录组件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[0].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[0].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架构。。大家觉得有用,就点个赞吧。。。

时间: 2024-10-07 15:39:18

开源第三方登录组件OAuthLogin2.0 架构解析及开源地址的相关文章

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

Nuget地址:https://www.nuget.org/packages/OAuthLogin2.0/ 项目结构说明: AuthorizationProviders文件夹下主要存放内置的授权平台. CustomException文件夹主要存放各个平台对应的错误处理机制. 说下涉及到的几个名词: 平台: 定义一个数据结构,用于规范外部交易平台名称.名称是业务系统为Etp分配的唯一标识,由不限长度的字符组成.由于极易发生拼写错误,强烈建议在程序中采用如下规范写法: (1)需要使用某一平台的名称字

OAuthLogin2.0

开源第三方登录组件OAuthLogin2.0 支持QQ,阿里巴巴,淘宝,京东,蘑菇街,有赞等平台 Nuget地址:https://www.nuget.org/packages/OAuthLogin2.0/ 项目结构说明: AuthorizationProviders文件夹下主要存放内置的授权平台. CustomException文件夹主要存放各个平台对应的错误处理机制. 说下涉及到的几个名词: 平台: 定义一个数据结构,用于规范外部交易平台名称.名称是业务系统为Etp分配的唯一标识,由不限长度的

joomla QQ登录,微信登录,微博登陆,人人登陆,明道登录的第三方登录

在joomla网站上集成QQ,微信,支付宝,人人,明道,短信,微博登录现在已经成为可能.只需要安装ZMAX程序人开发的ZMAX第三方登录组件,一键就可以让你的网站轻松集成当前流行的第三方登录. 国产开发 本扩展由ZMAX程序人团队开发,由南宁市程序人软件科技有限责任公司(工商注册号:450108000113385 1-1)运营.我们将持久对该扩展进行升级维护,对用户提供技术支持. 强大的功能 支持多种第三方登陆 QQ账号登陆,新浪微博账号登陆,支付宝账号登陆,人人账号登陆,明道账号登陆,微信账号

关于Linux开源项目基础组件make编译流程

?? 关于Linux开源项目基础组件make编译流程 非常多Linux开源项目都会用到编译出可运行文件的make.这个是有一套流程的. 首先,GNU构建系统:https://en.wikipedia.org/wiki/GNU_build_system 使用Autotool来编译和管理整个产品的生产流程. 就是以下这张图: 这里面须要先了解make和makefile make:https://en.wikipedia.org/wiki/Make_(software) makefile:https:

基于OAuth2.0协议 第三方登录与数据同步验证设计

前段时间,公司跟别的公司签订合作伙伴,搞了一个第三方登录与数据共享同步,是基于OAuth2.0协议,现在空闲了,做一下笔记. 到github下载一个OAuth2.0的PHP类库(当然,你也可以自己写一个^-^,但个人觉得没必要造轮子),有写好Mysql与Mongodb的Demo,参考一下,然后嵌套自己的业务代码,下面是客户端与服务端的交互流程: +-----------+ +-----------+| | 带client_id的URL请求获取code | || | ---------------

友盟社会化Android组件之第三方登录

前段时间公司需要,逐步了新浪微博.腾讯qq.微信等授权登录验证的问题.如果要一个个申请,看文档写代码也是很多流程的.干脆用友盟社会化Android组件之第三方登录.友盟是集成了这些平台,还有其他主流的平台的.我在这里主要讲一下友盟里面微博登录.先看看友盟是怎么介绍自已的. 一.友盟社会化分享介绍 友盟社会化分享组件,帮助移动应用快速具备微信分享,微博分享.登录.评论.喜欢等社会化组件功能,助力产品推广,并提供实时.全面的社会化数据统计分析服务,是国内最大的社会化分享SDK. 支持各大社交平台 精

开源 免费 java CMS - FreeCMS2.0 会员登录

项目地址:http://www.freeteam.cn/ 会员登录 打开浏览器,输入http://localhost:8080/mlogin.jsp. 输入用户名密码,点击"登录"按钮. 开源 免费 java CMS - FreeCMS2.0 会员登录

第三方登录之QQ登录(二)——OAuth2.0处理流程介绍(以QQ登录为例)

为了让网站更快接入,腾讯提供了JS SDK的接入方案,具体点击这里或者点击这里进行查看. 不过也可以自己写代码,当然你需要了解QQ的OAuth2.0的处理流程(Web Server Flow). OAuth2.0的处理流程:点击这里查看官方Wiki. 1.授权:获取授权码Authorization Code 说明:第一步QQ必须得到要登录系统的授权信息,如果授权全成功,则会跳转到回调地址,同时授权码以参数形式,追加回调地址上. 当然还有一些其他参数,具体详情看官方介绍. 实例: https://

spring cloud云架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)

上一篇我根据框架中OAuth2.0的使用总结,画了SSO单点登录之OAuth2.0 登出流程,今天我们看一下根据用户token获取yoghurt信息的流程: Java代码   /** * 根据token获取用户信息 * @param accessToken * @return * @throws Exception */ @RequestMapping(value = "/user/token/{accesstoken}", method = RequestMethod.GET) pu