use*_*594 0 php user-controls codeigniter oauth
考虑我有一个获取用户数据的用户表.我有2个案例,人们可以注册我的网站.
案例1.人们只需输入注册我的网站所需的所有信息.(老经典方式)
案例2.我设置OAuth,人们可以使用Twitter或其他身份验证系统(提供OAuth API)登录我的网站.因此,这些用户实际上不会输入他们的
我应该以什么方式存储在我的网站中登录案例2的用户?我只是将他们的信息(我将使用OAuth API获取)存储为他们的用户ID,并将令牌作为他们的密码存储?或者我是否必须使用提供的信息再次注册?
管理案例1和案例2的最佳方法是什么?有人可以告诉我他们自己的经历吗?
我们在网站上做的方式是将a User和他们的想法分开Authentication.用户可以拥有任意数量的身份验证,存储在单独的表中.他们可以使用任何一种相关的身份验证登录.所以我们可能会有以下内容:
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"}
Run Code Online (Sandbox Code Playgroud)
现在,当有人试图登录到您的网站的用户名和密码,就可以查看相应的Authentication记录与类型password和user_id该用户名相匹配; 相反,如果有人试图通过OAuth2用户登录时,你可以看到,如果有一个Authentication与相关联token,并oauth_id在数据库中,如果是这样,请登录相关的用户.
| 归档时间: |
|
| 查看次数: |
351 次 |
| 最近记录: |