php – 将Open ID与我当前的登录系统合并?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 将Open ID与我当前的登录系统合并?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在我的网站上设置OPEn ID身份验证,我在将其与我当前的登录系统和数据库相结合时遇到了麻烦……我已经阅读了 Plaxo&它推荐这种类型的表来存储openid信息……

create table user_openids (
  openid_url vArchar(255) not null,Primary key (openid_url),user_id int not null,index (user_id)
);

这是我当前的用户信息表

Userid(PRIMARY) | username(unique) | password | Email

Userid用于引用注释,评级等的用户详细信息(因此它作为用户标识符进入评论表和评级表)

我想要一个类似于Stack overflow使用你的Open ID登录的系统,它给你一个未知的(OPENID-provider)显示名称….同时保持我当前的登录系统完好无损.
1)如何在不影响当前登录设置的情况下,将用户的Open ID详细信息添加到当前用户信息表中?
2)目前我使用User-id(为每个用户生成唯一的)来存储在会话中以维护登录.如果是Open ID,我现在该怎么办?

*我的想法(我不知道我是不对的)
添加一个open-id字段来存储每个用户的open id提供者提供的唯一open id url,并为非open-id-users设置为null.
– 将User-id设为文本字段并存储打开的id url的md5.(将其存储在会话中以维护登录).
– 我不知道如何处理为每个用户设置为唯一的Display-name / Username,因为我想显示未知(OPENID_provider)(对于使用Open-id的用户),可以从配置文件设置中更改. .

任何建议都会有所帮助….谢谢

解决方法

您展示的表格布局的想法是拥有1:来自用户的许多:openids.

因此,不需要对用户表进行任何更改.

当有人使用OpenID登录时,您检查该OpenID是否在openids表中.如果是这样,您拥有用户的user_id并且您已完成.

否则创建一个新用户(没有设置用户名/密码)并在openids表中插入(openid,user_id)对.

您的模板可以显示任何好的占位符(例如他们的OP或其他),它通常显示用户名为空的用户用户名.

希望您已经禁止使用空白密码登录,因此应该没有安全问题.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 将Open ID与我当前的登录系统合并?全部内容,希望文章能够帮你解决php – 将Open ID与我当前的登录系统合并?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。