微博第三方登录 php,php 网站使用微博第三方授权登录
2、创建应用,网站授权登录需要创建的类型为:微连接 - 网页应用。
3、拿到应用的 App Key 和 App Secret
5、可以现在微博官方提供的 sdk 包,也可以自己参考文档写
6、以下是我个人写的微博登录授权,仅供参考<?php
/**
* 微博 Oauth2.0 授权登录处理
* date 2019-07-17
*/
namespace oauth;
class weibo
{
private $app_key = ''; // 微博应用的 App Key
private $app_secret = ''; // 微博应用的 App Secret
private $oauth2_url = 'https://api.weibo.com/oauth2'; // 微博OAuth2.0接口URL地址
private $api2_url = 'https://api.weibo.com/2';
/**
* 设置Key 和 Secret,如果为空,默认读取config/oauth.php文件里的 weibo_app_key和weibo_app_secret
*
* @param array $config 微博应用的Key和Secret值
*/
public function __construct($config = [])
{
$this->app_key = !empty($config['app_key']) ? $config['app_key'] : config('oauth.weibo_app_key');
$this->app_secret = !empty($config['app_secret']) ? $config['app_secret'] : config('oauth.weibo_app_secret');
}
/**
* 微博授权跳转URL
* @param string $redirect_uri 授权回调地址
* @param string $state 回调带回参数,防止CSRF攻击
* @return mixed
*/
public function authorize($redirect_uri = '', $state = '')
{
if (empty($redirect_uri)) return false;
$url = $this->oauth2_url . '/authorize?client_id=' . $this->app_key . '&redirect_uri=' . $redirect_uri;
$url = $url . '&response_type=code&state=' . $state;
header('location: ' . $url);
}
/**
* 获取微博access_token值
* @param string $redirect_uri 授权回调地址
* @param string $code 通过authorize获取的code值
* @return mixed
*/
public function getAccessToken($redirect_uri = '', $code = '')
{
if (empty($redirect_uri) || empty($code)) return false;
$params = [
'client_id' => $this->app_key,
'client_secret' => $this->app_secret,
'grant_type' => 'authorization_code',
'redirect_uri' => $redirect_uri,
'code' => $code,
];
$url = $this->oauth2_url . '/access_token';
$res = \util\Curl::curlPostRequest($url, $params);
// 整理返回数据
$res_data = [
'app_account' => ['app_key' => $this->app_key, 'app_secret' => $this->app_secret],
'res_json' => $res
];
return $res_data;
}
/**
* 根据access_token和用户id获取用户信息
* @param string $access_token token值
* @param integer $uid 微博用户id
* @return array|void
*/
public function getUserInfo($access_token = '', $uid = 0)
{
if (!$access_token || !$uid) return false;
$url = $this->api2_url . '/users/show.json?access_token=' . $access_token . '&uid=' . $uid;
$res = \util\Curl::curlGetRequest($url);
return $res;
}
}
里面使用到 curl,大家可按照自己的习惯使用
微博第三方登录 php,php 网站使用微博第三方授权登录相关推荐
- php订阅号网页登录,微信订阅号怎么使用网页授权登录
微信公众号配置网页授权域名怎么设置? 提示:无法访问banma13.tunnel.phpor.me指向的web服务器(或虚拟主机)打开微信公众平台,输入账号密码登录后台. 如果爱上一个人,请不要炫耀, ...
- 绝地求生登录计算机需要授权,绝地求生国服第三方授权登录异常解决方法 绝地求生国服授权登录错误怎么办...
近日,Steam第三方授权登录发生异常,导致所有需要Steam账号绑定登录的网站都出现登录错误,下面就为大家带来绝地求生国服第三方授权登录异常解决方法. 绝地求生国服第三方授权登录异常解决方法 老兵登 ...
- 网站微信扫码授权登录
1.首先准备工作 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统. 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐 ...
- 近期你已经授权登录过_原来你的qq授权登录过这么多的网站 一键查出撤销了吧...
现在好多网站都支持社交账号登录,而我每次习惯直接点击QQ的一键登录,然后QQ就会提示授权给该网站,时间一长,根本不记得自己的QQ账号究竟注册过哪些网站了.而且有些网站还会时不时的给你推送一些消息,很是 ...
- 微信小程序云开发用户身份登录_微信小程序开发用户授权登录(下)
如果开发者拥有多个移动应用.网站应用.和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用.网站应用和公众帐号(包括小程序),用户的 Un ...
- uni-app - 最详细 H5 网页接入微信登录功能,提供公众号配置与详细注释示例代码(移动端网页实现点击登录按钮后 调用微信公众号授权登录功能 详细讲解接入流程与详细示例代码)官方最新超级详细教程
前言 关于 uni-app 项目中接入微信授权登录的文章鱼龙混杂,各种乱代码.过时.没注释.不讲流程原理,非常难用. 本文实现了 uni-app H5 移动端网页项目,实现微信授权登录功能,详细讲解接 ...
- mongodb授权登录,经过自己修改后的授权登录方式
mongodb版本为3.4(目前最新),演示的是linux下的mongodb授权认证(关于MongoDB的安装可以参考:http://blog.csdn.net/tototuzuoquan/artic ...
- android qq登录分析,[原创]对QQ手游授权登录的一点分析
1.前言 最近无事玩王者,发现某些租号平台可以直接通过自身的APP打开腾讯的游戏进行登录,于是对这一登录过程做了简单的分析 2.QQ打开游戏的简单分析 发现不管是IOS还是Android都可以在QQ里 ...
- java支付宝网页授权登录界面_网页版的支付宝授权登录(vue+java)
api接口文档:https://docs.open.alipay.com/289/105656 后台管理系统原本是用账号密码登录的,不过需求要改成支付宝授权, 前端仅仅需要改登录页,以及添加一个授权返 ...
最新文章
- MongoDB for C#基础入门
- Lua date format
- 判断浏览器类型及版本
- 用字体选择对话框改变字体
- 使用maven编译YCSB0.1.4对cassandra进行性能测试
- 牛客网_PAT乙级_1018人口普查(20)
- 关于发那科机器人的FSSB
- Linux中断(interrupt)子系统之一:中断系统基本原理
- 【Elasticsearch】Elasticsearch 导入 导出 命令行工具
- 专访阿里云高级专家赵林:从0到1,中间件的研发运维之路
- 统计学习方法十:隐马尔科夫模型
- git 入门操作指令
- 如何为IE9平台预览版穿上外衣?
- bz2解压命令_Linux下的tar压缩解压缩命令
- 系统学习机器学习之特征工程(四)--分箱总结
- Java 正则表达式
- [辅助工具]	【羽睿】Proxmark3 Easy Gui 4.0 5.0 5.1加强版 PM3GUI_X稳定优化版
- 简单控制 xLang 窗体
- git小乌龟的安装和使用教程
- python接受键盘输入_Python读取键盘输入的2种方法