Php 我应该如何管理通过OAuth登录的用户?
假设我有一个获取用户数据的用户表。 我有两个案例,人们可以注册我的网站 案例1。 人们只需输入注册我的网站所需的所有信息。(古老的经典方式) 案例2。 我设置了OAuth,人们可以使用Twitter或其他身份验证系统(提供OAuth API)登录到我的站点。所以,这些用户实际上不会输入他们的 我应该以何种方式将通过案例2登录的用户存储在我的站点中? 我是否只是将他们的信息(我将使用OAuth API获取)存储为他们的用户ID,并将令牌存储为他们的密码? 还是我必须让他们再次注册并提供信息Php 我应该如何管理通过OAuth登录的用户?,php,codeigniter,user-controls,oauth,Php,Codeigniter,User Controls,Oauth,假设我有一个获取用户数据的用户表。 我有两个案例,人们可以注册我的网站 案例1。 人们只需输入注册我的网站所需的所有信息。(古老的经典方式) 案例2。 我设置了OAuth,人们可以使用Twitter或其他身份验证系统(提供OAuth API)登录到我的站点。所以,这些用户实际上不会输入他们的 我应该以何种方式将通过案例2登录的用户存储在我的站点中? 我是否只是将他们的信息(我将使用OAuth API获取)存储为他们的用户ID,并将令牌存储为他们的密码? 还是我必须让他们再次注册并提供信息 管理案
管理案例1和案例2的最佳方式是什么?有人能告诉我他们自己的经历吗 我们在网站上的做法是将
用户
和他们的身份验证
分开。用户可以在单独的表中存储任意数量的身份验证。他们可以使用任何一个关联的身份验证登录。因此,我们可能有以下几点:
User:
id: 1
username: brandon_tilley
Authentication:
id: 1
user_id: 1
type: password
data: {"password": "super-secret"}
Authentication:
id: 2
user_id: 1
type: oauth2
data: {"token": "0123456789abcdef", "oauth_id": "543210"}
现在,当有人试图使用用户名和密码登录到您的站点时,您可以使用
密码类型和与用户名匹配的用户id
查找相应的身份验证
记录;如果有人试图通过OAuth2登录,您可以查看数据库中是否存在带有关联的令牌和oauth\u id
的身份验证
,如果是,请登录关联的用户。我们在网站上的做法是将用户的想法与他们的身份验证
分开。用户可以在单独的表中存储任意数量的身份验证。他们可以使用任何一个关联的身份验证登录。因此,我们可能有以下几点:
User:
id: 1
username: brandon_tilley
Authentication:
id: 1
user_id: 1
type: password
data: {"password": "super-secret"}
Authentication:
id: 2
user_id: 1
type: oauth2
data: {"token": "0123456789abcdef", "oauth_id": "543210"}
现在,当有人试图使用用户名和密码登录到您的站点时,您可以使用密码类型和与用户名匹配的用户id
查找相应的身份验证
记录;如果有人试图通过OAuth2登录,您可以查看数据库中是否存在带有关联的令牌和oauth\u id的身份验证
,如果是,登录相关用户。这是一个有趣的问答,我一直在考虑自己,因为这是我想在我的CMS上进行的下一次升级
所以我明白你的意思:
当有人尝试登录时:
对照“users”表检查他们的用户名,然后检查他们在“authentications”表中使用的身份验证类型
如果它只是一个存储的密码,他们只有一个常规帐户-登录他们
如果他们使用OAuth等存储,tr使用存储的信息远程登录到他们选择的服务-如果成功,请登录。这是一个有趣的问答,我一直在考虑自己,因为这是我想在我的CMS上进行的下一次升级
所以我明白你的意思:
当有人尝试登录时:
对照“users”表检查他们的用户名,然后检查他们在“authentications”表中使用的身份验证类型
如果它只是一个存储的密码,他们只有一个常规帐户-登录他们
如果他们是使用OAuth等存储的,tr使用存储的信息远程登录到他们选择的服务-如果成功,请登录他们