分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

ThinkPHP接入微博登录

发布时间:2023-09-06 01:37责任编辑:胡小海关键词:PHP

微博登录原理,简单介绍一下,通过特定网址携带固定参数,发起请求登录,之后通过回调地址,获取code值,通过code值获取access_token值和uid值,通过上面获取的值获取用户信息。

以下基础信息简要介绍一下

一、申请账号

地址:https://weibo.com/signup/signup.php

二、完善信息

完善信息,实名认证等操作

三、申请应用

选择“微博登录”,并填写相关信息,完善应用。

四、应用审核

获取相关信息,App key 和 App Sercet,以及填写回调地址

五、前端代码

填写“App key” 和“回调地址”,将链接上的**顺序替换

<a class="btn btn-info" href="https://api.weibo.com/oauth2/authorize?client_id=*****&response_type=code&redirect_uri=******">微博登录</a>

六、php代码

//微博回调public function wbback(){ ???????//参数设置 ???????$Client_id = "***"; ???//appkey ???????$Client_secret = "***"; ???//App Sercet ???????$Redirect_uri = "***"; //回调地址 ???????//接收code值 ???????$Code = I(‘get.code‘); ???????if(!$Code) $this->error("code获取失败!"); ???????//获取access_token$url = "https://api.weibo.com/oauth2/access_token?client_id=$Client_id&client_secret=$Client_secret&grant_type=authorization_code&redirect_uri=$Redirect_uri&code=$Code"; ???????$info = $this->httpsRequest($url); ???????//json转数组 ???????$info_json = json_decode($info,true); ???????//获取access_token和uid,用于获取用户信息 ???????$access_token = $info_json[‘access_token‘]; ???????$uid = $info_json[‘uid‘]; ???????if($info){ ???????????//设置中文字符集 ???????????header("Content-type:text/html;charset=utf-8"); ???????????//获取用户信息 ???????????$info_url = "https://api.weibo.com/2/users/show.json?access_token=$access_token&uid=$uid"; ???????????$ch = curl_init(); ???????????//设置选项,包括URL ???????????curl_setopt($ch, CURLOPT_URL,$info_url); ???????????curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); ???????????curl_setopt($ch, CURLOPT_HEADER, 0); ???????????//执行并获取HTML文档内容 ???????????$output = curl_exec($ch); ???????????curl_close($ch); ???????????//此处可打印用户所有信息 ???????????//dump($output); ???????????$userinfo = json_decode($output,true); ???????????$username = $userinfo[‘screen_name‘]; ???????????echo "登录成功,用户名:$username"; ???????}} ???//httpsRequest ???public function httpsRequest($url,$post_data){ ???????$ch = curl_init(); ???????curl_setopt($ch, CURLOPT_URL, $url); ???????curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); ???????// 设置请求为post类型 ???????curl_setopt($ch, CURLOPT_POST, 1); ???????// 添加post数据到请求中 ???????curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); ???????// 执行post请求,获得回复 ???????$res= curl_exec($ch); ???????curl_close($ch); ???????return $res; ???}

七、后续开发,请自行操作,谢谢
--------------------------------------------------------转载请标注出处,谢谢!---------------------------------------------------------------

ThinkPHP接入微博登录

原文地址:https://www.cnblogs.com/shenlin/p/8308682.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved