本站的文件管理器使用的是可道云开发的KodExplorer,每次我需要修改博客源码的时候都需要重新登录一下,显得异常的麻烦,于是就想着能不能在登录博客之后无需重新登录就可以访问KodExplorer,然后我找了一下官方的文档,发现是支持单点登录的。
配置单点登录apiLoginTonken
打开KodExplorer 的config目录,新建一个setting_user.php文件
然后打开此文件在其中添加以下代码,其中后面的token需要自己重新生成一个强度较高的随机密码,可以使用本站的随机密码生成器:随机密码生成器 – ICE LAB (170601.xyz)
<?php
//自行设置;长度不小于5,为安全考虑建议尽量复杂;该数值切勿泄露,建议定时更换;
$GLOBALS['config']['settings']['apiLoginTonken'] = 'Zn7yJmXDxvwCUAOWivKD';
记录一下这个随机密码:Zn7yJmXDxvwCUAOWivKD
官方API文档
说明: 该接口用于整合现有web系统,可以通过后端程序使某个用户直接登陆可道云,实现单点登陆;该链接由其他系统进行拼接,不限编程语言。
请求方式:跳转方式
;
请求地址:http://server/?user/loginSubmit&login_token=XXX&link=XXX
接口说明:验证成功后跳转到kod首页或者指定的页面,不需要accessToken参数。注意:该接口可以直接通过后端登陆某个账号,注意安全保密,切勿泄露apiLoginTonken,建议定期更换;
请求参数:
login_token: //base64Encode([用户名])+'|'+md5([用户名]+[apiLoginTonken])
link: //可选。登陆后指定到的页面;需要url编码
如何配置apiLoginTonken
调用示例:
例如:假设apiLoginTonken为aabbcckod;自动登陆admin用户;
login_token:base64Encode('admin')+'|'+md5('admin'+'aabbcckod')
结果为:"YWRtaW4=|83ca7512188b3070a1cd9b4977bc17dc"
结果经过url编码之后则最终请求为:
http://server/?user/loginSubmit&login_token=YWRtaW4%3D%7C83ca7512188b3070a1cd9b4977bc17dc
生成login_token
首先使用base64加密你需要登录的用户名称,比如admin
,访问下方链接即可加密
复制编码后的值:YWRtaW4=
然后使用MD5哈希编码用户名+最开始生成的随机密码
也就是:adminZn7yJmXDxvwCUAOWivKD
记录一下这个哈希码8125c5fa9178f2f180f17a5f6285290a
接着,我们将上方的Base64编码与这个哈希码进行拼接,中间使用|
符号进行分割,拼接之后如下:
YWRtaW4=|8125c5fa9178f2f180f17a5f6285290a
这个时候,我们就生成好了login_token
测试使用
我们可以访问http://server/?user/loginSubmit&login_token=XXX
来测试是否可以直接不输入密码和用户名直接登录,比如我部署的路径为:kod.vwmwv.cn
那么我可以访问如下路径进行登录:
https://kod.vwmwv.cn/index.php?user/loginSubmit&login_token=YWRtaW4=|8125c5fa9178f2f180f17a5f6285290a
打开登录页面,这个时候还没登录,我们在浏览器输入上方的路径
然后点击回车进行访问,如果直接进入那就说明配置成功
Typecho后台添加单点登录按钮
我在typecho后台的顶部操作栏添加了一个按钮,点击这个按钮就可以直接单点登录KodExplorer
当然,我们需要typecho的管理员权限才能看到此按钮,并且可以单点登录,如果不是管理员,假如你的站点有普通用户登录的话,点击此按钮就直接进入了你的网站文件目录,那不就问题大了。
打开typecho站点目录下的admin目录,找到menu.php并打开
在下方代码的后方
<?php Typecho_Plugin::factory('admin/menu.php')->navBar(); ?>
添加如下的内容,当然要替换成你自己的单点登录链接
<?php if($user->pass('administrator', true)): ?>
<a href="https://kod.vwmwv.cn/index.php?user/loginSubmit&login_token=YWRtaW4=|8125c5fa9178f2f180f17a5f6285290a"><?php _e('柒云'); ?></a>
<?php endif; ?>
这样,当我们进入博客后台的时候,就可以直接点击这个按钮,来管理文件了,节省了一次我们输入账号和 密码的时间。
© 允许规范转载打赏
博主: 珂泽 | 发布时间:2022 年 03 月 18 日 | 1755 次浏览 | 3 条评论 | 783字数 | 分类: 编程笔记
https://www.kezez.com/archives/57.html