我欲乘风九万里
梦的起点
心灵之声
珊瑚礁
编码之舞
梦中的微风
项目编码
聚合登录文档
建议
AI助手
聚合登录之前后端示例代码
#### 前端示例代码 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <img src="{$img}"> </body> <!--push.js 推送代码--> <script src="https://ysian.cn/common/js/push.js"></script> <script> <!--请求服务端接口获取数据--> var img = '' var visitor = Math.random().toString(36).substring(10); //data 是扫码成功回调之后,第三方接口回调返回的内容 userPush(visitor, function(data) { if(data.code==200 && data.scan_status=='success') { if(data.token) { localStorage.setItem('token', data.token); } if(data.redirect_uri) { window.location.href = data.redirect_uri; } } }); </script> </html> ``` #### 后端示例代码 ```php public function index() { # 获取二维码 $data = [ 'timestamp' => time(), 'nonce_str' => rand(10000000, 99999999), 'appid' => '20240726UlT', 'state' => base64_encode(''), //前端传参 'image' => 2 ]; $str = ''; ksort($data); foreach ($data as $k => $v) { if (is_array($v)) { $str .= $k . '=' . json_encode($v) . '&'; } elseif (is_bool($v)) { $str .= $k . '=' . ($v ? "true" : "false") . '&'; } elseif($v) { $str .= $k . '=' . $v . '&'; } } $sign = md5($str . 'app_secret=riatQSLFOp'); $data['sign'] = $sign; $ch = curl_init(); // 设置 cURL 选项 curl_setopt($ch, CURLOPT_URL, 'http://ysian.cn/scan/thirdLogin/loginUrl'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 执行 cURL 请求 $response = curl_exec($ch); // 关闭 cURL curl_close($ch); // 输出响应 $res = json_decode($response, true); return view('index',['url'=>$res['data']['url']]); } ``` #### 扫码回调 用户扫码授权后,会将授权的结果通知三方(创建应用的时候填写通知地址),三方如果使用本项目的websocket通知,请按如下格式返回结果 ```php return json([ 'token' => '22222', // 三方在用户授权后,可颁布一个token,用于证明用户身份。push.js将会储存token:localStorage.setItem('token', data.token); 'code' => 200, // code=200,说明三方已成功得到结果 'redirect_uri' => 'http://www.baidu.com' // 登录成功后跳转的路径 ]); ``` #### 扫码体验地址 [admin.ysian.cn](https://admin.ysian.cn "admin.ysian.cn")
ysian
我雾化科所
1
聚合登录之创建应用篇
2024-07-30
643
0
2
php函数之match
2024-07-29
581
0
3
聚合登录之常见问题
2024-07-30
488
0
4
聚合登录之前后端示例代码
2024-07-30
482
0
5
聚合登录之获取登录链接
2024-07-30
421
0
6
服务器瘦身
2023-11-01
412
5
7
centos下升级openssl
2023-11-30
412
0
8
我的第一篇博客
2023-09-28
401
0
9
supervisor的安装与使用
2023-11-02
382
0
10
editor.md 代码块没有下拉框
2023-10-06
351
2
PHP [9]
linux [4]
sh [1]
闲谈 [1]
css [2]
redis [2]
Cluster集群 [1]
git [1]
centos [1]
webman [2]
工具 [1]
OAuth2.0 [1]
项目 [1]
初始化 [1]
thinkphp [1]
Nginx [1]
往事 [1]
Mysql [1]
支付宝 [2]
抖音 [2]
qq [2]
聚合 [1]
登录 [1]
聚合登录 [4]
cache [1]
html [1]
queue [1]
Workerman版本
4.1.15
Webman版本
1.5.9
PHP版本
8.3.6
MYSQL版本
8.2.24
操作系统
CENTOS