---------------------------------目录-------------------------------------

QQ登录整合/oauth2.0认证-03-对第二节的代码改进 (2015-07-07 16:10)

QQ登录整合/oauth2.0认证-02-跳转到QQ互联页 (2015-07-06 20:25)

QQ登录整合/oauth2.0认证-01-申请appkey和appid (2015-07-06 20:05)

---------------------------------目录-------------------------------------

为了方便我们测试,我们随便找一个域名 比如:http://www.xxxxxx.com

登录QQ互联修改回掉地址为:http://www.xxxxxx.com/AuthLogin/QQCallBack.aspx

当我们点击按钮后,页面会跳转到QQ互联的地址,在这个地址上面,使用QQ进行登录

如果你的网站还没有审核通过,这个时候,你只能使用测试账号进行登录

登录后,会跳转到你填写的回调地址,并且地址后面会带上一个code参数和state参数 这个state参数就是外面上两节课定义的那个随机数了

回调的地址如下

http://www.xxxxxx.com/AuthLogin/QQCallBack.aspx?code=

为了方便我们本地调试,我们修改host 让vs能够调试我们的代码

1 打开C:\Windows\System32\drivers\etc

修改hosts文件

将下面

# 127.0.0.1       localhost
# ::1             localhost

改为

# 127.0.0.1       www.xxxxxx.com
# ::1             www.xxxxxx.com

然后再vs主项目中,也就是启动项目

修改属性,将IIS服务器的URL改为www.xxxxxx.com

你还需要在本地的iis上面部署一个网站,网站的根目录就是你的web项目的目录

打开IIS--添加网站

物理路径选择web项目的路径

主机头写www.xxxxxx.com 端口写80 这样通过hosts 我们可以在本地访问www.xxxxxx.com 就是打开我们的web测试网站了

然后我们就可以调试了

现在当我们访问使用vs来调试打开网站

http://www.xxxxxx.com/authlogin/qq.aspx 这个页面的时候,点击按钮

然后登陆互联使用协助账号登陆

之后跳转到http://www.xxxxxx.com/AuthLogin/QQCallBack.aspx?code=A0D7F28BFD69436B127D00933AFA9CF1&state=25839这个地址

这里的state我们可以和我们之前请求的随机数进行比较,这样可以防止被拦截了

我们可以将随机数写入session中

从上面的地址我们可以知道,腾讯会通过get方式,返回两个参数给我们,一个是code 一个是state

state就是我们之前生成的随机数,而code的作用很重要,我们以后的操作,很多就靠这个code了

这一节就先讲到这里 ,,我们下节课再见....

QQ登录整合/oauth2.0认证-04-调整到QQ互联进行QQ登录的更多相关文章

  1. QQ登录整合/oauth2.0认证-03-对第二节的代码改进

    ---------------------------目录---------------------------------- QQ登录整合/oauth2.0认证-01-申请appkey和appid ...

  2. QQ登录整合/oauth2.0认证-02-跳转到QQ互联页

    ---------------------------目录---------------------------------- QQ登录整合/oauth2.0认证-01-申请appkey和appid ...

  3. QQ登录整合/oauth2.0认证-01-申请appkey和appid

    本节需要你申请appkey和appid还有绑定域名的空间 首先 再讲课之前 你需要准备以下东西 到腾讯开发平台中申请 开发者 获得appid 和appkey 这两个东东 这两个东东 就算没审核 也可以 ...

  4. Spring Cloud Zuul 网关使用与 OAuth2.0 认证授权服务

    API 网关的出现的原因是微服务架构的出现,不同的微服务一般会有不同的服务地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题: 客户端会 ...

  5. 那些年,我们开发的接口之:QQ登录(OAuth2.0)

    那些年,我们开发的接口之:QQ登录(OAuth2.0) 吴剑 2013-06-14 原创文章,转载必须注明出处:http://www.cnblogs.com/wu-jian 前言 开发这些年,做过很多 ...

  6. QQ登录(OAuth2.0)

    QQ登录(OAuth2.0) 那些年,我们开发的接口之:QQ登录(OAuth2.0) 吴剑 2013-06-14 原创文章,转载必须注明出处:http://www.cnblogs.com/wujian ...

  7. OAuth2.0认证和授权以及单点登录

    https://www.cnblogs.com/shizhiyi/p/7754721.html OAuth2.0认证和授权机制讲解 2017-10-30 15:33 by shizhiyi, 2273 ...

  8. DRF接入Oauth2.0认证[微博登录]报错21322重定向地址不匹配

    DRF接入Oauth2.0认证[微博登录]报错21322重定向地址不匹配 主题自带了微博登陆接口,很简单的去新浪微博开放平台创建了网页应用,然后把APP ID和 AppSecret填好后,以为大功告成 ...

  9. Spring Security OAuth2.0认证授权六:前后端分离下的登录授权

    历史文章 Spring Security OAuth2.0认证授权一:框架搭建和认证测试 Spring Security OAuth2.0认证授权二:搭建资源服务 Spring Security OA ...

随机推荐

  1. mybatis xml mapper 文件中 if-else 写法

    mybaits 中没有else要用chose when otherwise 代替 范例一 <!--批量插入用户--> <insert id="insertBusinessU ...

  2. Backbone.js 使用模板

    实际的应用中会使用到模板,Model 等,而模板又是进阶的基础.所以这里介绍在 View 中使用模板,以及如何向模板填充值,模板可以用字符串,或是用 <script type="tex ...

  3. 怎样将 MySQL 迁移到 MariaDB 上

    自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多 MySQL 的开发者和用户放弃了它.在社区驱动下,促使更多人移到 MySQL 的另一个叫 MariaD ...

  4. OpenNebula学习第四节之磁盘镜像的制作

    一.准备工作 需要准备一个Ubuntu16.04的ISO文件上传至服务器,如下图所示 二.操作步骤 2.1:创建操作目录 创建一个/var/tmp/cloud_image目录,把Ubuntu16.04 ...

  5. ASP入门(十六)-ASP开发的规范

    毋容置疑,在开发中遵守一套规范,将会有利于提高代码的可读性,较低后期维护成本. 文件存放目录规范 js 目录下存放着页面所使用的 JavaScript 脚本文件,因为我们可能用到第三方提供的免费的 J ...

  6. LintCode: Maximum Subarray

    1. 暴力枚举 2. “聪明”枚举 3. 分治法 分:两个基本等长的子数组,分别求解T(n/2) 合:跨中心点的最大子数组合(枚举)O(n) 时间复杂度:O(n*logn) class Solutio ...

  7. 分享一个CSS+JavaScript框架materializecss

    一.内容: CSS+JavaScript框架materializecss. 二.网址:http://materializecss.com 三.图片:

  8. 在线帮助文档编辑器gitbook

    https://www.gitbook.com/editor/windows https://yuzeshan.gitbooks.io/gitbook-studying/content/howtous ...

  9. 配置Git绑定Git@OSC

    用户名,这个名字会出现在以后的提交记录中. git config --global user.name "Git@OSC用户名" 然后是Email,同样,这个Email也会出现在你 ...

  10. Java多线程之CountDownLatch和CyclicBarrier同步屏障的使用

      转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6558349.html  一:CountDownLatch CountDownLatch是一个执行 完成任务 ...