PHP/ThinkPHP5 框架集成微博登录入库流程示意
- PHP/ThinkPHP5 框架集成微博登录入库流程示意
第三方登陆这个东东,目前主要是 微信、微博、qq、淘宝、支付宝 等几个。他们都是基于oath2协议的。原理差不多。这里记录的是我测试的新郎微博登陆。请需要的同学参考下。
- 登录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 框架集成微博登录入库流程示意的更多相关文章
- php的laravel框架快速集成微信登录
最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_provider,详细的介绍请往下阅读. 本文面向的是php语言laravel框架的用户,介绍的是 ...
- 利用本地HTTPS模拟环境为FastAPI框架集成FaceBook社交三方登录
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_174 提起社交,就不得不说马克·扎克伯格(Mark Zuckerberg)一手创办的社交网络(FaceBook).进入2020年, ...
- Django rest framework集成微博第三方登录
Django restframework 集成第三方登录(微博.微信.QQ等) 友情链接 python-social-auth-app官方文档 微博开放者平台 QQ开放者平台 准备工作 1.注册微博开 ...
- CI框架下 新浪微博登录接口完整版
https://www.cnblogs.com/yznyzcw/p/3756622.html#top 说明:本贴只适合CI框架.功能实现:登录接口跳转链接成功,获取用户信息(包括最重要的u_id)成功 ...
- 如何从零开始对接第三方登录(Java版):QQ登录和微博登录
前言 个人网站最近增加了评论功能,为了方便用户不用注册就可以评论,对接了QQ和微博这2大常用软件的一键登录,总的来说其实都挺简单的,可能会有一点小坑,但不算多,完整记录下来方便后来人快速对接. 后台设 ...
- android应用集成google登录
集成google登录之前需要有一下三点要求,只有具备一下两点要求才能集成google登录: 1,android 运行版本4.0及更新版本 2,android 设 ...
- Cordova与现有框架的结合,Cordova插件使用教程,Cordova自定义插件,框架集成Cordova,将Cordova集成到现有框架中
一.框架集成cordova 将cordova集成到现有框架中 一般cordova工程是通过CMD命令来创建一个工程并添加Android.ios等平台,这样的创建方式可以完整的下载开发过程中所需要的的插 ...
- Spring MVC 学习总结(十一)——IDEA+Maven+多模块实现SSM框架集成
一.SSM概要 与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC ...
- Selenium·自动化框架集成
date:2018513 day08aft 一.自动化框架集成分层 1.config 配置(项目配置——测试环境,公司环境,线上环境:以中国人才热线登陆为例,网址.用户名.密码等) 2.public ...
随机推荐
- jsp清除缓存
好多代码都是: <% response.setHeader("Cache-Control", "no-store"); //HTTP 1.1 respon ...
- [leetcode]416. Partition Equal Subset Sum分割数组的和相同子集
Given a non-empty array containing only positive integers, find if the array can be partitioned into ...
- 不使用if switch 各种大于 小于 判断2个数的大小
哥们写的代码: dword big; __asm { mov eax,a mov ebx,b cmp eax,ebx jle HOHO big =ebx HOHO: big = eax } 网上搜了一 ...
- php单点登陆简单实现 (iframe方式)
有四个网站分别为: www.a.com www.b.com www.c.com www.sso.com 需求是如果我们在sso登陆后,其他网站也会显示登陆中,不需要重复登陆,退出时,其他网站也会失效. ...
- Linux ld命令
一.简介 http://blog.sina.com.cn/s/blog_a0dc7dcf01014c5s.html 二.选项 http://blog.sina.com.cn/s/blog_a0dc7d ...
- Strand Specific mRNA sequencing 之重要性与分析
Strand Specific mRNA sequencing 之重要性与分析 发表评论 2,761 A+ 所属分类:Bioinformatics 收 藏 研究生物基因转录体的方法有许多种,而使 ...
- [SoapUI] 通过context获取response并解析里面的某个字段的值
import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def realI ...
- centos7 编译安装mysql
centos 7 安装mySql 1,准备mySql源码安装 #wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar ...
- html5 web 摇一摇切换歌曲
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- vertical-align和text-align
vertical-align只适用于内联元素. 垂直对齐:vertical-align属性(转) 行高与单行纯文字的垂直居中,而如果行内含有图片和文字,在浏览器内浏览时,读者可以发现文字和图片在垂直方 ...