我将Google和Facebook OAuth2.0加入我的网站。我得到它的工作,所以它预先填写我的注册表格,名字,姓氏和电子邮件(密码必须手动输入)。现在我想启用用户可以登录/注册而无需输入密码。正如我所提到的,我可以从OAuth获得没有问题的电子邮件地址,但我不知道如何使用密码,因为我的数据库中没有空密码字段(那么你可以输入没有密码的用户电子邮件,你可以登录)。 / p>
在我的数据库中,我正在检查电子邮件和密码字段(简单登录)。
那么我如何使用OAuth注册我的用户(输入密码字段的内容),这样我以后只需点击OAuth图标即可登录?
是否有任何特定于用户且不公开的密钥?
答案 0 :(得分:0)
我认为你还没有理解OAuth的真正含义。
OAuth创建和授权层,并将客户端的角色与资源所有者的角色分开。客户端应用程序仅访问在用户提供的作者之后由资源所有者控制的那些资源。
出于安全目的,资源所有者访问受保护资源的凭据,客户端获取访问令牌 - 表示特定范围,生命周期和其他访问属性的字符串。
授权服务器在获得用户批准的情况下向第三方客户端颁发访问令牌。客户端使用访问令牌来访问资源所有者服务器托管的受保护资源。
根据RFC 6749:
The authorization server MUST NOT issue client passwords or other
client credentials to native application or user-agent-based
application clients for the purpose of client authentication. The
authorization server MAY issue a client password or other credentials
for a specific installation of a native application client on a
specific device.
因此不需要密码