开发者社区> 杰克.陈> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

OAuth2 通用组件升级篇(开源,又见开源 - 新增支持淘宝登陆)

简介: 原文http://www.cnblogs.com/cyq1162/archive/2012/12/11/2810709.html 前言: 最近忙碌了几件事: 1:QBlog v3系列单用户版升级了:主要是园子里的地平线同学反馈了些问题,所以顺道修正和优化一起折腾: 下载地址:http://www.cyqdata.com/download/article-detail-427 地平线同学的刚弄上的博客:http://www.tanyucheng.cn 2:帮一园子友人折腾优化Http代理工具,并支持Https访问,这项成果,后续会集成到 秋式广告杀手 里。
+关注继续查看

原文http://www.cnblogs.com/cyq1162/archive/2012/12/11/2810709.html

前言:

最近忙碌了几件事:

复制代码

1:QBlog v3系列单用户版升级了:主要是园子里的地平线同学反馈了些问题,所以顺道修正和优化一起折腾:

下载地址:http://www.cyqdata.com/download/article-detail-427

地平线同学的刚弄上的博客:http://www.tanyucheng.cn

2:帮一园子友人折腾优化Http代理工具,并支持Https访问,这项成果,后续会集成到 秋式广告杀手 里。

3:看那个霹雳的刀剑春秋,剧情不错,特别是生死相许的不世基情。

4:OAuth2组件升级了一下。

 

复制代码

 

OAuth2历史文章:

1:通用社区登陆组件技术分享(开源)上篇:OAuth 授权登陆介绍

2:通用社区登陆组件技术分享(开源)中篇:OAuth 登陆组件流程及组件集成方法

3:通用社区登陆组件技术分享(开源)下篇:OAuth 源码下载及原理解说


OAuth2组件升级的重点:

复制代码

1:引入了淘宝登陆(不是搞淘客站的,淘小二以没备案为由,不给过,鄙视下);

2:优化Tool类的GetJosnValue,更加适应不同不规范的Json截取相应的值;

3:搭配了最新版本的CYQ.Data V5数据组件来操作文本数据库。 

4:源码中增加了Demo示例。

复制代码

 

组件升级的简单介绍:

1:登陆的样式变了下,变成这样了:

 

以前是这样的:

 

2:代码新增加淘宝支持:TaoBaoAuth.cs

代码如下:

复制代码
using System;
using System.Collections.Generic;
using System.Text;

namespace OAuth2
{
    class TaoBaoAuth : OAuth2Base
    {
        internal override OAuthServer server
        {
            get
            {
                return OAuthServer.TaoBao;
            }
        }
        internal override string ImgUrl
        {
            get
            {
                return "<img align='absmiddle' src=\"/skin/system_tech/images/oauth_taobao.png\" /> 淘宝";
            }
        }
        internal override string OAuthUrl
        {
            get
            {
                return "https://oauth.taobao.com/authorize?response_type=code&client_id={0}&redirect_uri={1}&state={2}";
            }
        }
        internal override string TokenUrl
        {
            get
            {
                return "https://oauth.taobao.com/token";
            }
        }
        public override bool Authorize()
        {
            if (!string.IsNullOrEmpty(code))
            {
                string result = GetToken("POST");//一次性返回数据。
                
//分解result;
                if (!string.IsNullOrEmpty(result))
                {
                    try
                    {
                        token = Tool.GetJosnValue(result, "access_token");
                        if (!string.IsNullOrEmpty(token))
                        {
                            double d = 0;
                            if (double.TryParse(Tool.GetJosnValue(result, "expires_in"), out d))
                            {
                                expiresTime = DateTime.Now.AddSeconds(d);
                            }
                            //读取OpenID
                            openID = Tool.GetJosnValue(result, "taobao_user_id");
                            nickName = Tool.GetJosnValue(result, "taobao_user_nick");
                            return true;

                        }
                        else
                        {
                            CYQ.Data.Log.WriteLogToTxt("QQOAuth.Authorize():" + result);
                        }
                    }
                    catch (Exception err)
                    {
                        CYQ.Data.Log.WriteLogToTxt(err);
                    }
                }
            }
            return false;
        }
    }
复制代码

其中,如下图:

 

异常部分。。一看就知道这类是从QQAuth类复制过来改的。。。这个忘了改了。。sorry..-_-...。

3:Demo部分的项目截图:

其中小图片的目录,藏了好几层,主要是因为秋色园的样式里直接过渡过来的,具体和代码里有路径对应。

 

4:源码下载地址:http://www.cyqdata.com/download/article-detail-54302

 

 

结束:

好了,文章还是简单为主,大伙看的也省力,有网站的,可以顺手给自己网站添加一个,赶赶潮。。。 

 

 

版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
支持x86/aarch/mips/loongarch的jogamp-2.3.2源码开源
支持x86/aarch/mips/loongarch的jogamp-2.3.2源码开源
20 0
Springcloud Oauth2 HA篇
统一鉴权框架Oauth2留下不少的坑,本文主要解决Oauth2的实际根本问题。
2214 0
SOFAMesh中的多协议通用解决方案x-protocol介绍系列(2):快速解码转发
在 SOFAMesh 的开发过程中,针对遇到的实际问题,我们给出了一套名为 x-protocol 的解决方案,本文将会对这个解决方案进行详细的讲解,后面会有更多内容,欢迎持续关注本系列文章。
632 0
spring-cloud-alibaba组件使用基础入门
nacos简介 官方首页用了一句话来概况描述nacos是什么:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。,说明nacos是一个集注册中心和配置中心的为一体的服务平台。类似与spring-cloud中将config-server与eureka-server两大功能打包到了一起,当然,nacos功能可能要远远比他们的组合更为强大。
2465 0
《第一本Docker书(修订版)》——1.2 Docker组件
Docker可以帮用户构建和部署容器,用户只需要把自己的应用程序或服务打包放进容器即可。我们刚刚提到,容器是基于镜像启动起来的,容器中可以运行一个或多个进程。我们可以认为,镜像是Docker生命周期中的构建或打包阶段,而容器则是启动或执行阶段。
2142 0
+关注
杰克.陈
一个安静的程序猿~
10424
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载