(二)、新浪微博登录

  1. 首先在新浪微博开放平台注册成为开发者。【http://open.weibo.com/connect

    具体自己填写一些相关信息就OK!

  2. 注册成功之后,点击【微连接】,之后在点击【创建应用】

  3. 然后选择网页应用

  4. 填写相关的信息,应用地址是发布到互联网的网站域名地址,如:www.baidu.com

  5. 你获取到了App Key和App Secret ,然后填写一些基本信息

  6. 这是最重要的一步,就是点击【高级信息】,填写授权回调页和取消授权回调页,这里填写的地址要和你到时候代码中的地址一致。

  到这里之后,开发者的配置基本上就OK了,接下来就是准备写代码的了。。。

  我这里用的是MVC 4.0:

  1. 首先配置文件里面添加如下配置信息,填写你获取到的App Key 和 App Secret:

  <appSettings>

    <add key="sina.weibo.appkey" value="*******"/>
<add key="sina.weibo.appsecret" value="************************"/> </appSettings>

  2. 这里是Home控制器里面的代码,主要是可以生成请求新浪微博授权地址

using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using QConnectSDK.Context;
using dotNetDR_OAuth2.AccessToken;
using dotNetDR_OAuth2; namespace ThirdPartyLogin.Controllers
{
public class HomeController : Controller
{
private IAuthorizationCodeBase sina = AccessTokenFactory.Create(DefaultAppConfigs.Sina); public ActionResult Index()
{
//动态数据类型
dynamic model = new ExpandoObject(); var hostPath = AccessTokenToolkit.GenerateHostPath(Request.Url);
//请求授权服务器之后返回的第三方的url地址
//回调地址,必须和你开发者配置的一样
var sinaRUrl = "http://10.10.10.102/SinaCallBack.aspx";
//获取新浪授权页的地址
model.SinaLink = sina.GenerateCodeUrl(sinaRUrl); return View(model);
}
}
}

    3. 这是前台 Index.schtml 代码

@model dynamic
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<meta property="wb:webmaster" content="9ff88f2c5fc7bf93" />
<title>Index</title>
</head>
<body>
<div>
用户名:<input type="text" /><br />
密 码:<input type="password" /><br />
<input type="button" value="登录" />
</div>
<div>
<a href="@Model.TencentLink"><img src="~/Images/tencentLogo.ico"/>腾讯微博登录</a>
<a href="@Model.SinaLink"><img src="~/Images/sinalogo.png"/>新浪微博登录</a>
<a href="@Model.authenticationUrl"><img src="~/Images/qq.png" />QQ账号登录</a>
</div>
</body>
</html>

  4. 这是回调页面的后台代码(.aspx)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using dotNetDR_OAuth2;
using dotNetDR_OAuth2.APIs.Providers.Sina;
using dotNetDR_OAuth2.AccessToken; namespace ThirdPartyLogin
{
public partial class SinaCallBack : System.Web.UI.Page
{
private IAuthorizationCodeBase _authCode = AccessTokenFactory.Create(DefaultAppConfigs.Sina); protected void Page_Load(object sender, EventArgs e)
{
string code = Request.QueryString["code"];
string rUrl = "http://10.10.10.102/SinaCallBack.aspx";
//获取Token
var accessToken = _authCode.GetResult(_authCode.GenerateAccessTokenUrl(rUrl, code)); Session["accessToken"] = accessToken; var uid = accessToken.uid; var token = accessToken.access_token;
//请求API
var userInfo = SinaApi.CallGet("users/show.json?uid=" + uid, token); SinaError err;
if (SinaApi.HasError(userInfo, out err))
{
//出现错误的处理方法
}
       //得到用户名
Response.Write(userInfo.name);
}
}
}

  通过以上步骤便实现了新浪微博登录的功能!

关于使用QQ、新浪微博、腾讯微博等第三方登录网站的开发过程(二)的更多相关文章

  1. 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(上) 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(下)

    微信.QQ.新浪微博等第三方登录,你想知道的都在这了(上):https://www.jianshu.com/p/133d84042483 微信.QQ.新浪微博等第三方登录,你想知道的都在这了(下):h ...

  2. 对QQ、微信等第三方登录的几个思考

    转自:http://www.jianshu.com/p/7f282dfc16fc 今天聊聊注册.登录环节中很常见的第三方登录,如QQ.微信.支付宝.新浪微博等.虽然这些产品的开放平台都提供了标准的接入 ...

  3. 【Demo】QQ,github,微博第三方社交登录

    本文主要讲解 集成 第三方社交账号登录 为什么会有这个需求? 主要是因为目前互联网的网站数量太多,如果在各个站点都注册一个账号 用户非常不容易记住每个账号的用户名和密码,并且非常难保证每个账号的密码足 ...

  4. tp5集成淘宝,微信,网易,新浪等第三方登录

    tp5集成淘宝,微信,网易,新浪等第三方登录 一.总结 一句话总结: 接口 链接 实现的话就是这些平台给的一个接口(链接),你通过这些接口登录进去之后,它会给你返回用户名,头像之类的信息,我们的网站存 ...

  5. 腾讯微博的账号登录及api操作

    .tqq.php <?php /** * PHP Library for t.qq.com * * @author */ class tqqPHP { function __construct( ...

  6. SpringCloud微服务实战——搭建企业级开发框架(四十一):扩展JustAuth+SpringSecurity+Vue实现多租户系统微信扫码、钉钉扫码等第三方登录

      前面我们详细介绍了SSO.OAuth2的定义和实现原理,也举例说明了如何在微服务框架中使用spring-security-oauth2实现单点登录授权服务器和单点登录客户端.目前很多平台都提供了单 ...

  7. spring boot zuul集成kubernetes等第三方登录

    介绍一下,在单点登录平台集成kubernetes登录,集成其它系统的登录原理是一样的,如grafana, nacos, jenkins等. POM引用: <dependency> < ...

  8. 接入新浪、腾讯微博和人人网的Android客户端实例 接入新浪、腾讯微博和人人网的Android客户端实例

    做了个Android项目,需要接入新浪微博,实现时也顺带着研究了下腾讯微博和人人网的Android客户端接入,本文就跟大家分享下三者的Android客户端接入方法. 一.实例概述 说白了,接入微博就是 ...

  9. 实现第三方登录(QQ、微信、微博)

    第三方登录,就是使用大家比较熟悉的比如QQ.微信.微博等第三方软件登录自己的网站,这可以免去注册账号.快速留住用户的目的,免去了相对复杂的注册流程.下边就给大家讲一下怎么使用PHP开发QQ登录的功能. ...

随机推荐

  1. 用户层获取TEB PEB结构地址 遍历进程模块.doc

    1.fs寄存器指向TEB结构 2.在TEB+0x30地方指向PEB结构 3.在PEB+0x0C地方指向PEB_LDR_DATA结构 4.在PEB_LDR_DATA+0x1C地方就是一些动态连接库地址了 ...

  2. sidt十六进制代码

    00121453 0F010D 40441200 sidt fword ptr ds:[gliu]0012145A 0F014D B0 sidt fword ptr ss:[ebp-0x50]0012 ...

  3. $(function(){})与window.onload的区别

    不太一样window.onload是在页面所有的元素都加载完成后才触发$(function(){})是在页面的dom结构加载完毕后就触发 dom里的内容不一定都已经加载完成比如说一个页面有好多图片 而 ...

  4. vim 分屏功能

    分屏启动Vim 使用大写的O参数来垂直分屏. vim -On file1 file2 ... 使用小写的o参数来水平分屏. vim -on file1 file2 ... 注释: n是数字,表示分成几 ...

  5. linux安装配置SVN并设置钩子

    安装说明 系统环境:CentOS-6.3安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件 检查已安装版本 #检查是否安装了低版本的SVN 1 rpm ...

  6. css3 -- 多列

    1.指定分列: E{column-count:2:} --- 两列 E{ -moz-column-count:2: -webkit-column-count:2: } Firefox与webkit实现 ...

  7. NoSql之MongoDB--Windows下数据库配置及初步使用

    1.NoSql简介 NoSql(Not Only Sql)指的是非关系型的数据库.下一代数据库主要解决几个要点:非关系型的.分布式的.开源的.水平可扩展的.原始的目的是为了大规模web应用,这场 运动 ...

  8. shinydashboard包---为shiny提供BI框架

    1.安装 install.packages("shinydashboard") 2.基础知识 仪表盘有三个部分:标题.侧边栏,身体.下面是最最小的仪表面板页面的UI: ## ui. ...

  9. HD1847-(博弈论??)

    Good Luck in CET-4 Everybody! Problem Description 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知 ...

  10. python 代码片段17

    #coding=utf-8 try: get_mutex() do_some_stuff() except (IndexError,KeyError,AttributeError),e: log(&q ...