TypechoOAuthLogin
适用于typecho的OAuth第三方登录插件,可以让typecho博客系统支持第三方账号登录、注册的插件。
前言
插件前身:[[tianlingzi/TeConnect]](https://github.com/tianlingzi/TeConnect),最后维护时间为2025年10月26日。
由于功能拓展以及后续开发需要,将插件改名为“TypechoOAuthLogin”。
2025.12,关于1.0版更新,对数据表的管理逻辑进行了调整,插件禁用时不再主动删除数据表,以方便插件的再次启用。这对升级插件很重要,避免了要重新绑定第三方登录信息的麻烦。将对数据表的操作转移到了插件的配置页中:单独增加了清空数据表和删除数据表。如果你不再使用本插件,请先点击删除数据表,再禁用插件。
2025.12.1,关于2.0版更新,主要是对完善用户信息这一板块进行优化:1.新增密码设置与校验;2.对前端进行重构美化,目前前端背景采用了 imgRun 提供的bing每日壁纸端口,实现了每次登录都有不同的背景;3.用户登录检查,检查本地账户可用性,解决了用户在登录时,本地账户已被删除,但是插件仍记录了该用户的情况;4.增强插件的安全性。
一、功能介绍
Typecho互联登录插件,目前已支持的第三方登录:QQ/微信/Github/Msn/Google/新浪微博/豆瓣/点点/淘宝网/百度。
后续会根据实际需要继续添加新的第三方接口,欢迎大家一起贡献。
如使用过程中遇到问题,可到这篇文章下留言,我会尽快解决。
二、插件下载
1.开源地址:https://github.com/tianlingzi/TypechoOAuthLogin
2.下载地址:https://github.com/tianlingzi/TypechoOAuthLogin/releases
3.本站下载:TypechoOAuthLogin.zip
4.插件试用:
三、安装步骤
- 解压插件到
Plugins目录; - 将文件名改为“TypechoOAuthLogin”;
- 在后台启用插件,并配置插件参数(方法见:参数配置 - 配置示例);
- 在当前使用主题的适当位置添加
TypechoOAuthLogin_Plugin::show()方法,代码:
<?php TypechoOAuthLogin_Plugin::show(); ?>- 在第三方平台设置网站回调域,注意区分http、https(方法见:参数配置 - 配置示例)。
- 如果您的主题开启了全站PJAX,需要把以下代码放入PJAX回调函数内:
/*PJAX时:来源页写入cookie*/
var exdate = new Date();
exdate.setDate(exdate.getDate() + 1);
document.cookie = "TypechoOAuthLogin_Referer=" + encodeURI(window.location.href) + "; expires=" + exdate.toGMTString() + "; path=/";四、参数配置
配置示例
| 名称 | 类型 | 配置示例 | 网站回调域 |
|---|---|---|---|
| 腾讯QQ | qq:APP_KEY,APP_SECRET,腾讯QQ | https://127.0.0.1/oauth_callback?type=qq | |
| 微信 | qq:APP_KEY,APP_SECRET,微信 | https://127.0.0.1/oauth_callback?type=Wechat | |
| Github | github | github:APP_KEY,APP_SECRET,Github | https://127.0.0.1/oauth_callback?type=github |
| MSN | msn | msn:APP_KEY,APP_SECRET,MSN | https://127.0.0.1/oauth_callback?type=msn |
| google:APP_KEY,APP_SECRET,Google | https://127.0.0.1/oauth_callback?type=google | ||
| 新浪微博 | sina | sina:APP_KEY,APP_SECRET,新浪微博 | https://127.0.0.1/oauth_callback?type=sina |
| 豆瓣 | douban | douban:APP_KEY,APP_SECRET,豆瓣 | https://127.0.0.1/oauth_callback?type=douban |
| 点点 | diandian | diandian:APP_KEY,APP_SECRET,点点 | https://127.0.0.1/oauth_callback?type=diandian |
| 淘宝网 | taobao | taobao:APP_KEY,APP_SECRET,淘宝网 | https://127.0.0.1/oauth_callback?type=taobao |
| 百度 | baidu | baidu:APP_KEY,APP_SECRET,百度 | https://127.0.0.1/oauth_callback?type=baidu |
1:后台互联配置
具体格式为:type:appid,appkey,title,注释:
- type:第三方登录帐号类型
- appid:第三方开放平台申请的应用id
- appkey:第三方开放平台申请的应用key
- title:登录按钮的标题
在后台互联配置中,直接以文本形式填写,一行为一个帐号系统的参数;
为减少错误发生,您可以复制对应的配置示例,把APP_KEY和APP_SECRET改成您自己的参数就可以了!
例如:qq:APP_KEY,APP_SECRET,腾讯QQ
改成:qq:101015836,547s87f8s7df7sd877ji75s78sdfd,腾讯QQ
粘贴到后台互联配置,即完成了腾讯QQ登录的配置,其他类型同理!
2:网站回调域配置
您可以复制对应的 配置示例,把 127.0.0.1改成您的域名,填写到第三方开发平台的网站回调域设置中,即可完成配置!
以本博客 www.tianlingzi.top,设置QQ登录,为例:
复制插件中给出的回调地址:https://www.tianlingzi.top/oauth_callback?type=qq
五、插件截图


六、拓展
美化插件显示。使用一个白色背景框将登陆按钮独立出来。
<!-- ① 社交登录 -->
<div class="tc-social-wrapper">
<?php TypechoOAuthLogin_Plugin::show(); ?>
</div>
<!-- ① 对应极简美化 -->
<style>
.tc-social-wrapper{
margin:16px 0;
padding:12px 24px;
background:#fff;
border-radius:6px;
box-shadow:0 2px 6px rgba(0,0,0,.06);
text-align:center; /* 让内部按钮水平居中 */
}
.tc-social-wrapper *{margin:4px;}
</style>