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. 用户登陆注册【JDBC版】

    前言 在讲解Web开发模式的时候,曾经写过XML版的用户登陆注册案例!现在在原有的项目上,使用数据库版来完成用户的登陆注册!如果不了解的朋友,可以看看我Web开发模式的博文! 本来使用的是XML文件作 ...

  2. php字符的替换,截取,指定查找

    <?php/** * Created by 郭鹏. * User: msi * Date: 2017/9/27 * Time: 14:17 *///随机数生成器echo rand();echo ...

  3. 前后端分离,接口API,契约

    前后端分离了,然后呢? http://icodeit.org/2015/06/whats-next-after-separate-frontend-and-backend/ Swagger - 前后端 ...

  4. jquery模板下载网站

    jquery模板下载网站 http://www.jqshare.com/

  5. EOutOfResources字符异常

    近日,用Delphi编程时,遇到一个莫名其妙的异常:EOutOfResources,这是一个可以重复再现的异常.开始以为是程序中创建的对象太多,导致占用了过多的资源,引起了这个异常.于是在代码中将许多 ...

  6. MVVM前后分离轻量级框架应用juicer和doT.js

    前言      前后端开发分的越来越细化,为了方便前端工程师更好的调试后端工程师嵌套的代码,前后分离技术就出现了,简单理解其实就是Ajax异步将数据提供给JavaScript,由JavaScript进 ...

  7. MongoDB学习教程(1)

    1.简介: MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 旨在为WEB应用提供可扩展的高性能数据 ...

  8. 搭建git远程服务器三步骤

    以前都是使用git,这次由于工作需要,需要自己搭建一个远程git服务器.根据网上的 介绍,捣鼓了一下午,终于把远程git服务器搞定了,这里,做个总结. 搭建git远程服务,首先要安装git和ssh,以 ...

  9. ZOJ2286 Sum of Divisors 筛选式打表

    我想我是和Segmentation Fault有仇,我一直以为是空间开大的问题,然后一直减少空间,还是SF,谁让n没有给范围了,qwq. 教训:以后注意输入范围和开的空间大小. #include< ...

  10. asp.net(C#)html无限分类树 可新增 删除 修改

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ProductSort.aspx ...