我们有几个人可以通过(Twitter,Facebook等)授权的oauth2提供商。现在我们通过" provider / id"将数据存储在数据库中。问题是:我们希望有可能为一个用户使用几个oauth2提供者,即用户可以通过facebook授权,然后通过twitter授权,它将是我们数据库中的一个用户。 我们考虑了相关的表,比如oauth_users_info,或类似的东西,我们将存储像facebook_id,twitter_id等字段,并在授权后使用它。 这是一个很好的做法,还是你可以提出更好的建议?我害怕可能在之后引起一些问题的陷阱。
答案 0 :(得分:1)
实际上,您可能希望创建与Identity
模型相关联的User
模型。 User
可以有许多Identities
,例如facebook,twitter等。您的身份模型会像,
Identity(id: integer, uid: string, provider: string, user_id: reference)