• PHP/ThinkPHP5 框架集成微博登录入库流程示意

第三方登陆这个东东,目前主要是 微信、微博、qq、淘宝、支付宝 等几个。他们都是基于oath2协议的。原理差不多。这里记录的是我测试的新郎微博登陆。请需要的同学参考下。

  1. 登录open.weibo.com进行开发者认证及网站审核,完成如图

下载地址这种没有技术含量的东西就不说了,把下载好的文件包放到任意目录,建议根目录,在这我专门建立了Oauth文件夹,因为还需要qq登陆,微信。

所有文件如下:

saetv2.ex.class.php 这个文件留下就行了,其它删除。

紧接着走配置文件 配置 App key. App Secrets, callback uri

新建api模块,Oauth 控制器

类代码

<?php
namespace app\api\controller; use think\Controller;
use think\Request; class OauthController extends Controller
{
private $o = null; public function __construct(Request $request = null)
{
parent::__construct($request);
include_once( ROOT_PATH.'Oauth/weibo_login/saetv2.ex.class.php' );
$this->o = new \SaeTOAuthV2( config('WB_AKEY') , config('WB_SKEY') );
} public function weibo()
{
$code_url = $this->o->getAuthorizeURL( config('WB_CALLBACK_URL') ); header('location:'.$code_url);
} public function weibocallback()
{ if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = config('WB_CALLBACK_URL');
try {
$token = $this->o->getAccessToken('code', $keys);
} catch (OAuthException $e) { }
}if ($token) {
$_SESSION['token'] = $token;
setcookie('weibojs_' . $this->o->client_id, http_build_query($token));
header('Location: /forum');
}
}
}

讲解下类吧,类构造函数加载了配置,实例化了我们需要用到的类,

weibo方法,这个就是点击按钮跳转的地址,URL(‘api/Oauth/weibo’)就会定位到此方法,此方法会访问新浪的借口验证,如果成功会走weibocallback方法, token就是我们需要的数据了,可以入库操作。等,然后调回回调地址

然后你还可以添加其它的方法 如qq,进行qq登陆 ,

今天就到这里,完了在补充

PHP/ThinkPHP5 框架集成微博登录入库流程示意的更多相关文章

  1. php的laravel框架快速集成微信登录

    最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_provider,详细的介绍请往下阅读. 本文面向的是php语言laravel框架的用户,介绍的是 ...

  2. 利用本地HTTPS模拟环境为FastAPI框架集成FaceBook社交三方登录

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_174 提起社交,就不得不说马克·扎克伯格(Mark Zuckerberg)一手创办的社交网络(FaceBook).进入2020年, ...

  3. Django rest framework集成微博第三方登录

    Django restframework 集成第三方登录(微博.微信.QQ等) 友情链接 python-social-auth-app官方文档 微博开放者平台 QQ开放者平台 准备工作 1.注册微博开 ...

  4. CI框架下 新浪微博登录接口完整版

    https://www.cnblogs.com/yznyzcw/p/3756622.html#top 说明:本贴只适合CI框架.功能实现:登录接口跳转链接成功,获取用户信息(包括最重要的u_id)成功 ...

  5. 如何从零开始对接第三方登录(Java版):QQ登录和微博登录

    前言 个人网站最近增加了评论功能,为了方便用户不用注册就可以评论,对接了QQ和微博这2大常用软件的一键登录,总的来说其实都挺简单的,可能会有一点小坑,但不算多,完整记录下来方便后来人快速对接. 后台设 ...

  6. android应用集成google登录

        集成google登录之前需要有一下三点要求,只有具备一下两点要求才能集成google登录:         1,android 运行版本4.0及更新版本         2,android 设 ...

  7. Cordova与现有框架的结合,Cordova插件使用教程,Cordova自定义插件,框架集成Cordova,将Cordova集成到现有框架中

    一.框架集成cordova 将cordova集成到现有框架中 一般cordova工程是通过CMD命令来创建一个工程并添加Android.ios等平台,这样的创建方式可以完整的下载开发过程中所需要的的插 ...

  8. Spring MVC 学习总结(十一)——IDEA+Maven+多模块实现SSM框架集成

    一.SSM概要 与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC ...

  9. Selenium·自动化框架集成

    date:2018513 day08aft 一.自动化框架集成分层 1.config 配置(项目配置——测试环境,公司环境,线上环境:以中国人才热线登陆为例,网址.用户名.密码等) 2.public ...

随机推荐

  1. jsp清除缓存

    好多代码都是: <% response.setHeader("Cache-Control", "no-store"); //HTTP 1.1 respon ...

  2. [leetcode]416. Partition Equal Subset Sum分割数组的和相同子集

    Given a non-empty array containing only positive integers, find if the array can be partitioned into ...

  3. 不使用if switch 各种大于 小于 判断2个数的大小

    哥们写的代码: dword big; __asm { mov eax,a mov ebx,b cmp eax,ebx jle HOHO big =ebx HOHO: big = eax } 网上搜了一 ...

  4. php单点登陆简单实现 (iframe方式)

    有四个网站分别为: www.a.com www.b.com www.c.com www.sso.com 需求是如果我们在sso登陆后,其他网站也会显示登陆中,不需要重复登陆,退出时,其他网站也会失效. ...

  5. Linux ld命令

    一.简介 http://blog.sina.com.cn/s/blog_a0dc7dcf01014c5s.html 二.选项 http://blog.sina.com.cn/s/blog_a0dc7d ...

  6. Strand Specific mRNA sequencing 之重要性与分析

    Strand Specific mRNA sequencing 之重要性与分析 发表评论 2,761 A+ 所属分类:Bioinformatics   收  藏 研究生物基因转录体的方法有许多种,而使 ...

  7. [SoapUI] 通过context获取response并解析里面的某个字段的值

    import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def realI ...

  8. centos7 编译安装mysql

    centos 7 安装mySql   1,准备mySql源码安装 #wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar ...

  9. html5 web 摇一摇切换歌曲

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  10. vertical-align和text-align

    vertical-align只适用于内联元素. 垂直对齐:vertical-align属性(转) 行高与单行纯文字的垂直居中,而如果行内含有图片和文字,在浏览器内浏览时,读者可以发现文字和图片在垂直方 ...