首页 > 解决方案 > Oauth2.0和用户注册登录

问题描述

如果我需要让用户在我的网站上注册,我可以使用 oauth2.0 来获取电子邮件地址等,并且我可以获得访问令牌以进一步调用资源服务器。我的问题是,一旦我从资源服务器获得了用户的电子邮件和姓名,我如何在我的网站上注册用户?当用户对我的网站进行后续调用时,我如何识别它是同一用户?

标签: oauth-2.0

解决方案


用户可以更改授权服务器上的电子邮件和名称,但用户的 id 不会。您可以通过从授权服务器获取字段来获取用户的 ID,sub以在您的数据库上创建用户记录。例如保存在数据库中,如:

sub: string <-- user id on google
provider: google <--- the provider (Authorization Server)

-> 每次用户通过 google 登录时,您可以通过检查 (sub, provider) 来检查用户是否存在于您的数据库中

你在哪里可以得到sub


推荐阅读