1.在要添加登录的html里添加登录按钮:

<a href="{:U('Public/login/',array('type'=>'weixin'))}"><img src="__IMG__/weixin.png" alt="微信按钮" />   </a>(这里只写了微信,QQ,微博...只需修改type值与图片即可)

2.登录方法:

public function login($type=null) {

empty($type) && $this->error('参数错误');

//加载ThinkOauth类并实例化一个对象

import("ORG.ThinkSDK.ThinkOauth");

//跳转到授权页

redirect($sns->getRequestCodeURL());

}

//授权回调地址

public function callback(){

(empty($type) || empty($code)) && $this->error('参数错误');

//加载ThinkOauth类并实例化一个对象

import("ORG.ThinkSDK.ThinkOauth");

$sns=ThinkOauth::getInstance($type);

//腾讯微博需传递参数

$extend=null;

if($type=='tencent'){

$extend=array('openid'=>$this->_get('openid'),'openkey'=>$this->_get(''openkey));

}

//请妥善保管这里获取到的Token信息,方便以后API调用

//调用方法,实例化SDK对象的时候直接作为构造函数的第二个参数传入

//如: $qq = ThinkOauth::getInstance('qq', $token);

     $token = $sns->getAccessToken($code , $extend);

//获取当前登录用户信息
     if(is_array($token)){
          $user_info = A('Type', 'Event')->$type($token);

echo("<h1>恭喜!使用 {$type} 用户登录成功</h1><br>");

echo("授权信息为:<br>");
          dump($token);
          echo("当前登录用户信息为:<br>");
          dump($user_info);
     }
}

3.下载sdk,把sdk文件夹和ThinkOauth.class.php放在ThinkPHP\Library\Org\ThinkSDK下

4.在config.php加:
  //微信登录
  'THINK_SDK_WEIXIN' => array(
       'APP_KEY' => '', //应用注册成功后分配的 APP ID
       'APP_SECRET' => '', //应用注册成功后分配的KEY
       'CALLBACK' => URL_CALLBACK . 'weixin',
  ),
  //腾讯QQ登录配置
  'THINK_SDK_QQ' => array(
       'APP_KEY' => '', //应用注册成功后分配的 APP ID
       'APP_SECRET' => '', //应用注册成功后分配的KEY
       'CALLBACK' => URL_CALLBACK . 'qq',
  ),

  //新浪微博配置
  'THINK_SDK_SINA' => array(
       'APP_KEY' => '', //应用注册成功后分配的 APP ID
       'APP_SECRET' => '', //应用注册成功后分配的KEY
       'CALLBACK' => URL_CALLBACK . 'sina',
  )

5.调试完成

thinkphp3.2开发网页实现第三方登录的更多相关文章

  1. android开发学习——facebook第三方登录,看了你不会后悔

    给APP用原生android进行facebook第三方登录. 我们做一件事情,首先得了解其原理,这样才不会迷茫,才知道自己做到什么程度了,心里才会有底. 所以,第一步,了解第三方登录的原理:下面贴一些 ...

  2. 【WEB开发】微信网页授权第三方登录接口(WEB登录)

    随着手机微信的崛起,腾讯发布的微信联登确实很诱惑pc端的伙伴们,现在就说说在pc端用微信扫一扫实现微信第三方登陆的方式.(具体代码U盘) 本文链接至:http://blog.csdn.net/hxke ...

  3. APP开发,微信第三方登录的介绍

    去年做了一阵APP相关的开发,经常遇到第三方登陆的需求,比如微信.微博.fb的第三方登陆等等,其实主要的流程都大同小异,这里就以微信为例来介绍,希望对大家有帮助. 微信开放平台(open.weixin ...

  4. iOS开发之微信第三方登录

    参考链接:https://blog.csdn.net/lichuandev/article/details/79878730 参考链接:https://www.jianshu.com/p/59e2ac ...

  5. PHP开发网站之微信登录、绑定

    )))刷新access_token()); ); ); curl_setopt($curlobj, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curlo ...

  6. 使用 Abp.Zero 搭建第三方登录模块(一):原理篇

    ​第三方登录是基于用户在第三方平台上(如微信,QQ, 百度)已有的账号来快速完成系统的登录.注册-登录等功能. 微信的鉴权 以微信的鉴权为例: 假如你的网站有一个扫码登录的功能,会弹出一个由微信提供的 ...

  7. laravel5实现第三方登录(微信)

    背景 最近手头一个项目需要实现用户在网站的第三方登录(微信和微博),后端框架laravel5.4. 实现过程以微信网页版第三方登录,其他于此类似,在此不做重复. 准备工作 网站应用微信登录是基于OAu ...

  8. laravel5实现微信第三方登录功能

    背景 最近手头一个项目需要实现用户在网站的第三方登录(微信和微博),后端框架laravel5.4. 实现过程以微信网页版第三方登录,其他于此类似,在此不做重复. 准备工作 网站应用微信登录是基于OAu ...

  9. 使用 Abp.Zero 搭建第三方登录模块(三):网页端开发

    ​简短回顾一下网页端的流程,总的来说网页端的职责有三: 生成一个随机字符作为鉴权会话的临时Token, 生成一个小程序码, Token作为参数固化于小程序码当中 监控整个鉴权过程状态,一旦状态变为AU ...

随机推荐

  1. Python爬虫1-----------placekitten 入门

    常用的urllib库有三个类:request,parse,error,request主要完成对url的请求,如proxy,opener,urlopen,parse主要完成对html的解析,error负 ...

  2. 详解go语言的array和slice 【二】

    上一篇已经讲解过,array和slice的一些基本用法,使用array和slice时需要注意的地方,特别是slice需要注意的地方比较多.上一篇的最后讲解到创建新的slice时使用第三个索引来限制sl ...

  3. angular-bootstrap ui-date组件问题总结

    使用angular框架的时候,之前用的时间控件是引入My97DatePicker组件实现的,但是因为 1.My97DatePicker样式不太好看以及偶尔会出现底部被遮盖的情况.点击不可编辑input ...

  4. struts1.3学习

    一.基本配置 参考博客 项目结构 web.xml <!-- struts配置 --> <servlet> <servlet-name>action</serv ...

  5. Apache Spark 2.2.0 中文文档 - 集群模式概述 | ApacheCN

    集群模式概述 该文档给出了 Spark 如何在集群上运行.使之更容易来理解所涉及到的组件的简短概述.通过阅读 应用提交指南 来学习关于在集群上启动应用. 组件 Spark 应用在集群上作为独立的进程组 ...

  6. 五年 Web 开发者 star 的 github 整理说明

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:樊东东 前端从业几年,积累了不少github开源库. 有时候想查阅以前star的库,但不好找,github大多库都是英文说明,对中文 ...

  7. 【vue系列之二】详解vue-cli 2.0配置文件

    上次给大家分享的是用vue-cli快速搭建vue项目,虽然很省时间和精力,但想要真正搞明白,我们还需要对其原理一探究竟. 大家拿到一个项目,要快速上手,正确的思路是这样的: 首先,如果在项目有read ...

  8. zoj1494 暴力模拟 简单数学问题

    Climbing Worm Time Limit: 2 Seconds      Memory Limit:65536 KB An inch worm is at the bottom of a we ...

  9. SqlServer批量备份多个数据库且删除3天前的备份

    /******************************************* * 批量备份数据库且删除3天前的备份 ************************************ ...

  10. sqlserver常用sql语句,更改字段,建立唯一键,多个字段去重复等

    --修改字段类型: --alter table 表名 alter column 待修改字段名 待修改字段类型 alter table users alter column userid varchar ...