扫码关注官方订阅号
这里的google\qq\sina\github等登录模块,是怎么实现的?
有没有相关PHP代码整合分享?谢谢~
学习是最好的投资!
这种借用第三方用户信息登录的本质还是需要在自己网站创建一个账号来登录,只不过这个账号相关信息(用户名等)是系统来创建。具体是实现是这样的:创建2张表,一张就是记录自己网站注册用户信息表,另外一个用来记录第三方登录成功返回的用户唯一标示符和用户信息表中的ID的对应关系:
userinfo表:userid,email,username,password; partner表:userid,partner_userid,partner_type。
partner表中的userid字段与表userinfo中的userid字段对应,partner_userid是第三方接口登录之后,第三方返回的用户ID,partner_type是第三方类型(qq,gmail,github,weibo 等等)。 用户通过第三方登录成功之后,返回一个partner_id给你的网站,你通过这个partner_id和partner_type到partner表去查找是否存在记录,如果存在,则获取对应记录的userid,通过这个userid登录系统。如果不存在,则系统自动创建一个用户,将信息插入到userinfo表,然后将userid和partner_id插入到表partner.
partner_userid
partner_type
partner_id
partner
userid
userinfo
关键词:OpenID
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这种借用第三方用户信息登录的本质还是需要在自己网站创建一个账号来登录,只不过这个账号相关信息(用户名等)是系统来创建。具体是实现是这样的:创建2张表,一张就是记录自己网站注册用户信息表,另外一个用来记录第三方登录成功返回的用户唯一标示符和用户信息表中的ID的对应关系:
partner表中的userid字段与表userinfo中的userid字段对应,
partner_userid是第三方接口登录之后,第三方返回的用户ID,partner_type是第三方类型(qq,gmail,github,weibo 等等)。 用户通过第三方登录成功之后,返回一个partner_id给你的网站,你通过这个partner_id和partner_type到partner表去查找是否存在记录,如果存在,则获取对应记录的userid,通过这个userid登录系统。如果不存在,则系统自动创建一个用户,将信息插入到userinfo表,然后将userid和partner_id插入到表partner.关键词:OpenID