我可以使用什么作为密码登录/注册用户与OAuth2.0


What can i use as password when logging/registering in users with OAuth2.0?

我包括谷歌和Facebook OAuth2.0到我的网站。我得到了它的工作,所以它预先填充我的名字,姓氏和电子邮件注册表(密码必须手动输入)。现在我想启用用户可以登录/注册而无需输入密码。正如我提到的,我可以从OAuth获得没有问题的电子邮件地址,但我不知道使用什么作为密码,因为我不能在我的数据库中有一个空的密码字段(然后你可以输入没有密码的用户电子邮件,你可以登录)。

在我的数据库,我正在检查电子邮件和密码字段(简单登录)。

那么我如何注册我的用户与OAuth(什么进入密码字段),以便我可以登录他们以后只需点击OAuth图标?

是否存在特定于用户且不公开的密钥?

我认为你没有理解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.

因此不需要密码