如果我将第三方服务的身份验证集成到我的应用程序中,例如github或slack,当用户注册我的应用程序并成功通过第三方服务进行身份验证时,数据看起来是什么就像我会收到的那样?
具体来说,如果这是用户第二次或第三次登录,并且他们之前已经注册过,我怎么知道他们已经注册了?我需要在我的数据库中存储哪些数据才能知道它们是谁?
我是否需要对有关用户身份的数据执行常见维护或维护?它变得陈旧了吗?
答案 0 :(得分:1)
您收到的数据取决于您在联系第三方服务时构建的请求的响应类型和范围参数。收到的id_token始终是JSON Web令牌(JWT)。
当您请求" openid"范围,id_token将有" iss"," sub"声明作为令牌有效负载的一部分。这两个声明唯一地标识了提供者是谁以及该提供者中该用户的唯一ID。可以将这两个值的组合保存在数据库中,以确定用户是否已注册。
当您使用第三方提供商并仅保存最低限度的信息(iss,sub)时,您无需了解任何信息。如果您不想处理任何维护,这将是一个很好的方法。如果您需要用户个人资料相关信息,可以请求"个人资料"范围作为您的请求的一部分,其中包含有关用户的更多信息。
谢谢你, 索玛。