最新typecho启用第三方登录QQ/腾讯微博/新浪微博/网易微博等-一一网络 最新typecho启用第三方登录QQ/腾讯微博/新浪微博/网易微博等 – 一一网络

最新typecho启用第三方登录QQ/腾讯微博/新浪微博/网易微博等

前言
本文为原创作品,版权属于:大卫科技 Blog(转载请保留原出处)! 本文链接https://www.iyuu.cn/archives/88/
一、功能介绍
Typecho互联登录插件,目前已支持15种第三方登录:QQ/腾讯微博/新浪微博/网易微博/人人网/360/豆瓣/Github/Google/Msn/点点/淘宝网/百度/开心网/搜狐。
在原项目TeConnect的基础上,进行完全的二次开发、优化及修复。重点有:
登录成功后跳转登录前页面,增强体验;
重新设计数据表结构,删除原connect表,后续具有完美的扩展性及兼容性;
已开发支持15种第三方登录,后续可以支持更多……;
优化会员绑定逻辑,修复原项目登录状态下绑定错乱、重复绑定等Bug;
增加会员uuid机制,自动关联users数据表的uid字段,支持更多功能开发的可能;
优化解绑逻辑,和第三方资料更新逻辑等。
二、插件下载
从Gitee仓库下载 https://gitee.com/ledc/TeConnect/repository/archive/master.zip
本插件已部署,欢迎体验:
bt_blue_76X24.png | bt_white_76X24.png | bt_blue_24X24.png | bt_white_24X24.png | bt_92X120.png
![31734-pp9k6jfacbr.png](https://www.proyy.com/wp-content/uploads/2020/09/1419162738.png)
三、安装步骤
解压插件到Plugins目录;
在后台启用插件,并配置插件参数(方法见:参数配置 – 配置示例);
在当前使用主题的适当位置添加TeConnect_Plugin::show()方法,代码:

在第三方平台设置网站回调域,注意区分http、https(方法见:参数配置 – 配置示例)。
如果您的主题开启了全站PJAX,需要把以下代码放入PJAX回调函数内:
/*PJAX时:来源页写入cookie*/
var exdate = new Date();
exdate.setDate(exdate.getDate() + 1);
document.cookie = “TeConnect_Referer=” + encodeURI(window.location.href) + “; expires=” + exdate.toGMTString() + “; path=/”;
三、参数配置
配置示例
名称 类型 配置示例 网站回调域
腾讯QQ qq qq:APP_KEY,APP_SECRET,腾讯QQ https://127.0.0.1/oauth_callback?type=qq
腾讯微博 tencent tencent:APP_KEY,APP_SECRET,腾讯微博 https://127.0.0.1/oauth_callback?type=tencent
新浪微博 sina sina:APP_KEY,APP_SECRET,新浪微博 https://127.0.0.1/oauth_callback?type=sina
网易微博 t163 t163:APP_KEY,APP_SECRET,网易微博 https://127.0.0.1/oauth_callback?type=t163
人人网 renren renren:APP_KEY,APP_SECRET,人人网 https://127.0.0.1/oauth_callback?type=renren
360 x360 x360:APP_KEY,APP_SECRET,360 https://127.0.0.1/oauth_callback?type=x360
豆瓣 douban douban:APP_KEY,APP_SECRET,豆瓣 https://127.0.0.1/oauth_callback?type=douban
Github github github:APP_KEY,APP_SECRET,Github https://127.0.0.1/oauth_callback?type=github
Google google google:APP_KEY,APP_SECRET,Google https://127.0.0.1/oauth_callback?type=google
MSN msn msn:APP_KEY,APP_SECRET,MSN https://127.0.0.1/oauth_callback?type=msn
点点 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
开心网 kaixin kaixin:APP_KEY,APP_SECRET,开心网 https://127.0.0.1/oauth_callback?type=kaixin
搜狐微博 sohu sohu:APP_KEY,APP_SECRET,搜狐微博 https://127.0.0.1/oauth_callback?type=sohu
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.iyuu.cn,设置新浪微博登录,为例: 复制:https://127.0.0.1/oauth_callback?type=sina 把127.0.0.1改成www.iyuu.cn,改好后: https://www.iyuu.cn/oauth_callback?type=sina
四、第三方账号绑定流程
1、方案选择
我参考了国内主流的几家互联网公司的第三方账号登录功能,发现主要分成两种设计方案; 一种是账号强绑,像京东、小米等,在第三方账号授权通过后,需要用户绑定自己的账号; 一种是今日头条、知乎,在第三方账号授权通过后,随机给用户生成一个账号或者调用第三方账号昵称,无需绑定账号,即可成功登录。 目前,两种方案都支持,您可以在后台开启或关闭强制绑定!
2、绑定流程一(未登录状态)
绑定流程一(未登录状态).png 用户在登录界面点击第三方账号,授权通过后,我们获得用户第三方账号的OpenID,由此判断用户的第三方账号之前是否绑定过,如果绑定过则直接登录成功。 如果没有绑定过,则跳到账号绑定页面。账号绑定页面需要分成已有账号直接绑定,和没有账号,新注册账号进行绑定两种情况。 当用户已有账号时,通过输入账号密码校验身份,校验通过后即可绑定成功/登录成功。 当用户没有账号时,用户可通过注册新账号,注册成功后即可绑定成功/登录成功。
![58647-2g419sh91b2.png](https://www.proyy.com/wp-content/uploads/2020/09/2362122593.png)
3、绑定流程二(登录状态)
在个人账号中心里提供绑定管理的功能和界面,在用户已经登录的情况下,可以直接绑定第三方账号,只要获得授权通过,即可绑定成功。
五、第三方帐号解绑流程
在个人账号中心>绑定管理中,可以对已经绑定的第三方账号进行解绑操作。在这里需要注意,由于用户长期使用第三方账号登录,实际上是由第三方账号承担了提交账号和保护账号安全的工作,因此在解绑第三方账号时,我们需要提醒用户,解绑以后只能通过本平台账号密码方式来登录。最好是提示用户记住当前账号 提示用户记住当前账号.jpg 京东的解绑账号功能
![12254-ovb2g1a97gb.png](https://www.proyy.com/wp-content/uploads/2020/09/564852897.png)
另一方面,由于之前是由第三方账号“帮平台”做了账号安全的工作,因此在解绑账号的时候,我们需要考虑如何保护账号安全。因此可以在解绑的时候,对账号做一定的安全校验或安全保护。 我们最终定的方案是 当用户在解绑时,需要校验手机短信验证码,如果没有绑定手机,则提示用户先去绑定手机。 第三方帐号解绑流程.png 解绑流程
![27473-ygqxn0zzv8c.png](https://www.proyy.com/wp-content/uploads/2020/09/807806405.png)
总结 第三方账号虽然是一个小功能,但是在设计过程中,我们要结合自身产品的特点来确定产品方案和产品流程。授权之后,是直接登录成功,还是绑定自己平台的账号,这是由自己产品特点决定。同时,对新增账号来说,如何设计用户账号的安全,也需要根据产品特点和安全策略来设计适合的产品流程。
原项目仓库
码云:https://gitee.com/ledc/TeConnect

免责声明:务必仔细阅读

  • 本站为个人博客,博客所转载的一切破解、path、补丁、注册机和注册信息及软件等资源文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。

  • 本站为非盈利性站点,打赏作为用户喜欢本站捐赠打赏功能,本站不贩卖软件等资源,所有内容不作为商业行为。

  • 本博客的文章中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断.

  • 本博客的任何内容,未经许可禁止任何公众号、自媒体进行任何形式的转载、发布。

  • 博客对任何脚本资源教程问题概不负责,包括但不限于由任何脚本资源教程错误导致的任何损失或损害.

  • 间接使用相关资源或者参照文章的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, 博客对于由此引起的任何隐私泄漏或其他后果概不负责.

  • 请勿将博客的任何内容用于商业或非法目的,否则后果自负.

  • 如果任何单位或个人认为该博客的任何内容可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明至admin@proyy.com.我们将在收到认证文件后删除相关内容.

  • 任何以任何方式查看此博客的任何内容的人或直接或间接使用该博客的任何内容的使用者都应仔细阅读此声明。博客保留随时更改或补充此免责声明的权利。一旦使用并复制了博客的任何内容,则视为您已接受此免责声明.

您必须在下载后的24小时内从计算机或手机中完全删除以上内容.

您使用或者复制了本博客的任何内容,则视为已接受此声明,请仔细阅读


更多福利请关注一一网络微信公众号或者小程序

一一网络微信公众号
打个小广告,宝塔服务器面板,我用的也是,很方便,重点是免费的也能用,没钱太难了,穷鬼一个,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9kY3ZwbXo=


一一网络 » 最新typecho启用第三方登录QQ/腾讯微博/新浪微博/网易微博等

发表评论

发表评论

一一网络-提供最优质的文章集合

立即查看 了解详情