如何让子比主题自定义登录方式

前言

啊众所周知,子比主题是有自定义登录方式的,不过仅有几种,对于一些冷门站点压根就没有,那么这时候我们就可以通过修改主题文件来实现自己支持

需要准备

脑子、手、正版主题(盗版主题容易出事,支持正版)

开始上手

1、首先去主题设置-用户&互动-第三方登录中打开任何一个不想要的登录方式(不能为彩虹聚合登录或Zibll代理登录)本文以gitee为例

2、前往站点根目录/wp-content/themes/zibll/oauth/gitee/下(此处以gitee为例,具体文件名为啥可以自己使用第三方登录试试,链接中?前的一般就是)

3、更改login.php(以simsoft登录为例)

<?php
/*
 * @Author: Qinver
 * @Url: zibll.com
 * @Date: 2021-04-11 21:36:20
 * @LastEditTime: 2022-10-24 14:17:13
 */

//启用 session
@session_start();

//获取后台配置
$Config = get_oauth_config('gitee');
$OAuth  = new \Yurun\OAuthLogin\Gitee\OAuth2($Config['appid'], $Config['appkey'], $Config['backurl']);

if ($Config['agent']) {
    $OAuth->loginAgentUrl = (home_url('/oauth/giteeagent'));
}
//代理登录
zib_agent_login();
// 可选属性
/*
// 是否在登录页显示注册
$alipayOAuth->allowSignup = false;
*/

$url = $OAuth->getAuthUrl();
// 存储sdk自动生成的state,回调处理时候要验证
$_SESSION['YURUN_GITEE_STATE'] = $OAuth->state;
// 储存返回页面
$_SESSION['oauth_rurl']  = !empty($_GET["rurl"]) ? $_GET["rurl"] : '';

// 跳转到登录页
header('location:' . "https://id.simsoft.top/page/apps-auth.html?appid=43189243");//这段为跳转到登录页代码,请根据情况自己修改,如果也要使用Simsoft登录,直接改appid即可

4、改callback.php

<?php
/*
 * @Author: Qinver
 * @Url: zibll.com
 * @Date: 2021-04-11 21:36:20
 * @LastEditTime: 2022-06-23 23:27:55
 */
//启用 session
@session_start();
// 要求noindex
//wp_no_robots();

if (empty($_SESSION['YURUN_GITEE_STATE'])) {
    wp_safe_redirect(home_url());
    exit;
}

//获取后台配置
$json=json_decode(file_get_contents('https://id.simsoft.top/api/appverify.php?appid=43189243&token='.$_GET['token']));
$a=$json->usermail;
//[注意]请改这里,如果也是用的SimSoft登录,直接修改appid即可
 
    $oauth_data = array(
        'type'        => 'gitee',
        'openid'      => $a,
        'name'        => $a,
      //  'avatar'      => $userInfo['avatar'],
       // 'description' => !empty($userInfo['bio']) ? $userInfo['bio'] : '',
        'getUserInfo' => $a,
    );
    //代理登录
    zib_agent_callback($oauth_data);

    $oauth_result = zib_oauth_update_user($oauth_data);

    if ($oauth_result['error']) {
        zib_oauth_die($oauth_result['msg']);
    } else {
        $rurl = !empty($_SESSION['oauth_rurl']) ? $_SESSION['oauth_rurl'] : $oauth_result['redirect_url'];
        wp_safe_redirect($rurl);
        exit;
    }

wp_safe_redirect(home_url());
exit;

5、打开站点根目录/wp-content/themes/zibll/inc/functions,修改functions.php

先找到

$args['gitee'] = array(
'name' => 'Gitee',
'type' => 'gitee',
'name_key' => 'name',
'class' => '',

如果你改的是其他的请对于找

将这一段改成(上面那段代码应该还有行icon的和);,记得一起改了)

$args['gitee'] = array(
'name' => '氢软',
'type' => 'gitee',
'name_key' => 'name',
'class' => '',
'icon' => 'fa fa-diamond',
);

6、去对应开放平台创建应用

SimSoft:SimID | 我的应用

回调地址填https://你的站点/oauth/登录方式(与文件夹名一致)/callback

然后获得一个appid,将其复制到前文的php指定位置

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
发表一下你的看法吧~
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容