Fastadmin中使用小程序登录

在fastadmin中使用三方登录插件原有没有小程序登录,需要增加小程序登录

目录

增加小程序登录

安装

修改配置

增加服务提供者

注册服务提供者

登录调用

总结


增加小程序登录

安装

首先在插件管理中找到三方登录插件安装

安装最新的1.4.7

修改配置

在third/config.php文件中,weibo配置下仿照上面的配置增加wechatmini配置,

如下:

php 复制代码
[
    'name' => 'wechatmini',
    'title' => '微信小程序',
    'type' => 'array',
    'content' => [
        'app_id' => '',
        'app_secret' => '',
        'scope' => 'snsapi_userinfo',
    ],
    'value' => [
        'app_id' => '',
        'secret' => '',
        'scope' => 'get_user_info',
    ],
    'rule' => 'required',
    'msg' => '',
    'tip' => '',
    'ok' => '',
    'extend' => '',
],

修改后保存后,在三方登录配置中增加微信小程序配置内容,如下:

增加服务提供者

在third/library中增加wechatmini.php文件,为小程序登录处理。

文件内容如下:

php 复制代码
<?php

namespace addons\third\library;

use fast\Http;
use think\Config;
use think\Session;
use EasyWeChat\Factory;

/**
 * 微信小程序
 */
class Wechatmini
{
    /**
     * 配置信息
     * @var array
     */
    private $config = [];

    public function __construct($options = [])
    {
        if ($config = Config::get('third.wechatmini')) {
            $this->config = array_merge($this->config, $config);
        }
        $this->config = array_merge(
$this->config, is_array($options) ? $options : []);
    }


    /**
     * 获取用户信息
     * @param array $params
     * @return array
     */
    public function getUserInfo($params = [])
    {
        $params = $params ?: $_GET;
        if (isset($params['code'])) {
            if ($params['code']) {
                $config = $this->config;
                $app = Factory::miniProgram($config);
                $sns = $app->auth->session($params['code']);
                if (isset($sns['openid']) && $sns['openid']) {
                    return $sns;
                }
            }
        }
        return [];
    }
}

注册服务提供者

在third/library/Application.php中注册服务提供者。

登录调用

在api/User.php的third方法中处理登录时,可通过platform参数传递wechatmini,

调用小程序登录方法,如下:

总结

在fastadmin中使用三方登录插件原有没有小程序登录,需要增加小程序登录

相关推荐
CRMEB系统商城21 分钟前
服装连锁的导购分销与企微私域
java·大数据·开发语言·人工智能·小程序·php·1024程序员节
宁波阿成25 分钟前
CentOS 7.5 升级 PHP 至 8.3.36 完整实操记录
linux·centos·php
sbjdhjd2 小时前
从黑板事实到长链路剪枝:AI 渗透测试 Agent 的实验、失效与改造
人工智能·网络安全·数据挖掘·php·agent·剪枝·1024程序员节
昵称画9 小时前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
TechWayfarer11 小时前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
4SAPI14 小时前
内容生成与文本润色场景下的大模型 API 聚合网关选型指南
人工智能·gateway·php
梦帮科技16 小时前
量子纠缠网络与量子隐形传态攻防:量子中继器信道串扰、纠缠态保真度降解与量子路由劫持
开发语言·网络·人工智能·算法·自动化·php
程序员天天困17 小时前
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
安全·php
hzxxxz17 小时前
PHP引擎两个高危漏洞复盘:计数顺序与旧地址缺陷的机理与处置清单
开发语言·php
马立杰17 小时前
PHP 未授权 RCE 应急响应:CVE-2026-109618 CVE-2026-109619 排查与加固实战
android·开发语言·php