云知笔记

详细易懂的C#开发新浪微博登录及通过新浪开放平台api读取用户信息代码分析(一)

前言:第三方网站或移动应用借用各大网络巨头的用户账号进行验证接入,早已成为应用登录的一种流行方法,旨在减少用户繁琐的注册步骤,增加更安全的验证机制,最重要的是一般的小型WEB应用或客户端能够依靠这种站在巨人肩上的方法来快速汇聚来自互联网巨头的用户流量。如今,各大互联网巨头都提供开放平台,允许通过他们的用户验证和授权登录到小型开发者自已的网络应用上去,最常见的就是QQ,微信,微博,百度等开放平台。小编将从现在开始,从最基础的原理入手来讲述用C#开发微博OAuth2开放授权的方法和具体代码编写。

首先开发之前要做一些准备工作,这个不属于C#开发范围,我就不在这里详述了,这里需要注册微博开放平台,网址是http://open.weibo.com/,登录以后在微连接里创建新的应用,我们这里是以一个可以进行微博登录的WEB应用为例,选择网站接入,按要求填写以后,提交开放平台审核,一般在一个工作日内就会返回审核结果,如果你的网站审核不通过,都会给你列出原因,一天内有三次改进的机会重新提交,如果你要是连基本的ICP备案要求都没有达到,那里肯定通不过的!

登录微博开放平台后,进入这个链接开始创建你的网站应用,一步步的做下去就行了:http://open.weibo.com/webmaster/add
如果你的WEB应用通过了审核,可以在“我的应用”里找到你的应用名,并显示为已上线,点开网站信息后可以看到你的应用的App Key和App Secret,这是两个非常重要的参数,在后面的开发中所有的数据获取都是通过这两个参数!

这一切准备完善以后,就可以开发了,我们这里是以C#为开发工具,但无论用什么开发语言,微博登录的第三方授权机制都是一样的,不仅仅是微博,应该说微信,QQ等第三方授权制机都是一样,这是就OAouth2.0开放接口,OAuth2.0较1.0相比,整个授权验证流程更简单更安全,也是未来最主要的用户身份验证和授权方式,有兴趣的童鞋可以看下图了解一下具体的机制:

看了上图,是不是头都大了呢,不要急,我这里只需要几句话就能说明上述机制的原因,捋顺了就很简单了,其实就是创建多个带参数的链接去访问新浪的微博开放接口Oauth2,而这些链接的请求用的是POST方式,请求以后服务器返回一系列JSON数据,我们再从这些JSON数据中取得我们需要用户资料和SESSION值,用于我们自已的网站对用户的授权,这样一来是不是就明白了呢。对于JSON数据不了解的的朋友,可以先预习一直JSON数据格式的基础知识。

下面我们来看一个请求的标准链接:https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
其中https://api.weibo.com/oauth2/authorize就是第一步需要取得code值的接口,后面跟上参数请求以后就会返回一个带就code参数的回调地址如http://www.example.com?code=CODE,请求参数


display说明:
[the_ad id=”171″]

第二步我们在回调地址中取得这个code参数,再用POST方法将这个值传给接口https://api.weibo.com/oauth2/access_token,就能返回新浪接口的令牌access_token,取得这个令牌的请求方式标准是:https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE
请求参数

本文未完:请看详细易懂的C#开发新浪微博登录及通过新浪开放平台api读取用户信息代码分析(二)

一个评论 “详细易懂的C#开发新浪微博登录及通过新浪开放平台api读取用户信息代码分析(一)”

发表评论

电子邮件地址不会被公开。

24 − 23 =