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

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

---------------------------正文----------------------------------

在上一讲里面,主要是 要读者们 先准备一个 appid 和appkey,准备这个 可能需要一段时间审核,公司类型的可能稍微慢一点

其实 关键是 你能有一个可以绑定上域名的空间,也就是你的网站需要能运行,是通过域名访问的网站,国内服务器可能需要备案,

国外就不需要,腾讯在审核的时候会有工作人员登录你的访问,进行审查,审查通过了,才能使用

至于腾讯是否审核通过 这个不用担心的

那么 这一集就假定你已经 申请过了 appid 和appkey

这一集 我们来操作第一步

注:整合方式可以不按我下面的方式来,下面只是讲一种简单的例子而已

首先 我们创建一个 aspx页面 放置一个按钮 我这里是使用的是 webform.aspx

在aspx页面 添加一个按钮

<asp:Button ID="ButtonQQLogin" runat="server" Text="Button" onclick="ButtonQQLogin_Click" />

然后添加click事件 在事件里面 我们进行跳转到QQ登陆页面 这里有一些地方要注意的

       //按钮事件
protected void ButtonQQLogin_Click(object sender, EventArgs e)
{
string salt = string.Empty;
string url = GetAuthCodeUrl("",out salt);
Response.Redirect(url);
} //组装跳转地址 注意 callback 可以从外面传进来 当然 你可以写到配置文件里面 我这里为了主要是方便测试 所以写死了
public string GetAuthCodeUrl(string callback, out string state)
{
state = Common.RandomText.String();//随机数
callback = System.Web.HttpUtility.UrlEncode("http://www.bamn.cn:8089/CallBackHandler.aspx", Encoding.UTF8);
string url = string.Format("https://graph.qq.com/oauth2.0/authorize?client_id={0}&response_type=code&redirect_uri={1}&state={2}","你的appid", callback, state);
return url;
}
http://www.bamn.cn:8089/CallBackHandler.aspx 是回执处理地址

组装跳转地址 注意 callback  可以从外面传进来 当然 你可以写到配置文件里面 我这里为了主要是方便测试 所以写死了

callback 就是登陆成功后跳转的页面 注意前面的域名 必须是你申请appid时候 填写的域名下的地址 其他域名是不行的

还有要进行 UrlEncode 编码
state的作用
state是你本地cs里面生成一个随机代码 会随着地址 带到QQ登陆页面 QQ的oauth登陆成功后 会返回来 主要是安全原因 方便你 取得QQ服务器返回来的数据时候 进行对比 以免被木马修改了
那么  通过Response.Redirect(url); 页面会跳转到 QQ互联登陆页面 这一步 我们实现了跳转到QQ互联页面
下一步 我们来处理登陆成功后返回来的时候我们的回执处理页面进行处理 由于我们在GetAuthCodeUrl方法里设置了跳转地址,所以成功认证后会跳转CallBackHandler.aspx页面  
所以 在该页面里面我们可以进行 下一步的处理 这集就先讲到这里....

QQ登录整合/oauth2.0认证-02-跳转到QQ互联页的更多相关文章

  1. QQ登录整合/oauth2.0认证-04-调整到QQ互联进行QQ登录

    ---------------------------------目录------------------------------------- QQ登录整合/oauth2.0认证-03-对第二节的代 ...

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

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

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

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

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

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

  5. QQ登录(OAuth2.0)

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

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

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

  7. QQ互联OAuth2.0 .NET SDK 发布以及网站QQ登陆示例代码(转)

    OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容. QQ登录OAuth2 ...

  8. QQ互联OAuth2.0 .NET SDK 发布以及网站QQ登陆示例代码

    OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容. QQ登录OAuth2 ...

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

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

随机推荐

  1. Maven镜像更换为阿里云中央仓库

    前言 maven仓库默认在国外,使用难免很慢,尤其是下载依赖的时候,换为国内镜像,让你感受飞一般的感觉.国内支持maven镜像的有阿里云,开源中国等,这里换为阿里云的. 更换 修改maven配置文件s ...

  2. Oracle中rownum用法警示

    今天调试代码,发现分页查询时使用Oracle中rownum的between......and用法的bug,特此总结: 参考资料:http://blog.csdn.net/lg312200538/art ...

  3. MongoDB分页的Java实现和分页需求的思考

    前言 传统关系数据库中都提供了基于row number的分页功能,切换MongoDB后,想要实现分页,则需要修改一下思路. 传统分页思路 假设一页大小为10条.则 //page 1 1-10 //pa ...

  4. Flask刷新问题

    修改页面中内容,特别是图片后,总是刷新不了.调试时,我常常通过修改端口来解决,从80-99不断改. 服务器部署,也遇到同样问题,重启web服务器,重启计算机都不行,网页已经改过来了,但是图片还是老图片 ...

  5. Discuz常见小问题-如何批量加精,置顶帖子

    批量选中帖子,然后置顶和精华都可以勾选 完成之后的效果

  6. jQuery实现倒计时效果-杨秀徐

    本实例效果:剩余368天22小时39分57秒结束 代码简单易懂,适用各种倒计时: <!DOCTYPE html> <head> <title>jQuery实现倒计时 ...

  7. 【自动化测试】基于IntelliJ IDEA的Gradle和testNG

    这几篇文章值得一读: TestNG测试框架使用笔记:http://www.cnblogs.com/xguo/p/3300358.html TestNg官方文档:http://testng.org/do ...

  8. Linux(CentOS)中使用Mono+jexus部署Asp.net4.5网站

    一.效果: 二.安装步骤: 1.安装系统CentOS,我这是用CentOs7测试的. 2.接下来安装libgdiplus.Mono.Jexus有问题可以参考安装工具的官网: Libgdiplus下载官 ...

  9. SQL Server2008为表的某列设置默认值为SQL Server函数

      例如,设置SQL Server函数GETDATE()作为默认值:

  10. mybatis+spring配置

    可参考:http://www.javacodegeeks.com/2014/02/building-java-web-application-using-mybatis-with-spring.htm ...