本文为原创作品,版权属于:大卫科技 Blog(转载请保留原出处)! 本文链接https://www.iyuu.cn/archives/88/
Typecho互联登录插件,目前已支持15种第三方登录:QQ/腾讯微博/新浪微博/网易微博/人人网/360/豆瓣/Github/Google/Msn/点点/淘宝网/百度/开心网/搜狐。
在原项目TeConnect的基础上,进行完全的二次开发、优化及修复。重点有:
从Gitee仓库下载 https://gitee.com/ledc/TeConnect/repository/archive/master.zip
Plugins
目录;TeConnect_Plugin::show()
方法,代码:<?php TeConnect_Plugin::show(); ?>
/*PJAX时:来源页写入cookie*/
var exdate = new Date();
exdate.setDate(exdate.getDate() + 1);
document.cookie = "TeConnect_Referer=" + encodeURI(window.location.href) + "; expires=" + exdate.toGMTString() + "; path=/";
具体格式为:type:appid,appkey,title
,注释:
配置示例
,把APP_KEY
和APP_SECRET
改成您自己的参数就可以了!
例如:qq:APP_KEY,APP_SECRET,腾讯QQ
改成:qq:101015836,547s87f8s7df7sd877ji75s78sdfd,腾讯QQ
粘贴到后台互联配置
,即完成了腾讯QQ登录的配置,其他类型同理!您可以复制对应的配置示例
,把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
我参考了国内主流的几家互联网公司的第三方账号登录功能,发现主要分成两种设计方案;
一种是账号强绑,像京东、小米等,在第三方账号授权通过后,需要用户绑定自己的账号;
一种是今日头条、知乎,在第三方账号授权通过后,随机给用户生成一个账号或者调用第三方账号昵称,无需绑定账号,即可成功登录。
目前,两种方案都支持
,您可以在后台开启或关闭强制绑定
!
用户在登录界面点击第三方账号,授权通过后,我们获得用户第三方账号的OpenID,由此判断用户的第三方账号之前是否绑定过,如果绑定过则直接登录成功。
如果没有绑定过,则跳到账号绑定页面。账号绑定页面需要分成已有账号直接绑定,和没有账号,新注册账号进行绑定两种情况。
当用户已有账号时,通过输入账号密码校验身份,校验通过后即可绑定成功/登录成功。
当用户没有账号时,用户可通过注册新账号,注册成功后即可绑定成功/登录成功。
在个人账号中心里提供绑定管理的功能和界面,在用户已经登录的情况下,可以直接绑定第三方账号,只要获得授权通过,即可绑定成功。
在个人账号中心>绑定管理中,可以对已经绑定的第三方账号进行解绑操作。在这里需要注意,由于用户长期使用第三方账号登录,实际上是由第三方账号承担了提交账号和保护账号安全的工作,因此在解绑第三方账号时,我们需要提醒用户,解绑以后只能通过本平台账号密码方式来登录。最好是提示用户记住当前账号
京东的解绑账号功能
另一方面,由于之前是由第三方账号“帮平台”做了账号安全的工作,因此在解绑账号的时候,我们需要考虑如何保护账号安全。因此可以在解绑的时候,对账号做一定的安全校验或安全保护。
我们最终定的方案是 当用户在解绑时,需要校验手机短信验证码,如果没有绑定手机,则提示用户先去绑定手机。
解绑流程
总结 第三方账号虽然是一个小功能,但是在设计过程中,我们要结合自身产品的特点来确定产品方案和产品流程。授权之后,是直接登录成功,还是绑定自己平台的账号,这是由自己产品特点决定。同时,对新增账号来说,如何设计用户账号的安全,也需要根据产品特点和安全策略来设计适合的产品流程。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。