如何存储OAuth数据

时间:2014-12-16 13:11:47

标签: ruby-on-rails oauth authorization

我们有几个人可以通过(Twitter,Facebook等)授权的oauth2提供商。现在我们通过" provider / id"将数据存储在数据库中。问题是:我们希望有可能为一个用户使用几个oauth2提供者,即用户可以通过facebook授权,然后通过twitter授权,它将是我们数据库中的一个用户。 我们考虑了相关的表,比如oauth_users_info,或类似的东西,我们将存储像facebook_id,twitter_id等字段,并在授权后使用它。 这是一个很好的做法,还是你可以提出更好的建议?我害怕可能在之后引起一些问题的陷阱。

1 个答案:

答案 0 :(得分:1)

实际上,您可能希望创建与Identity模型相关联的User模型。 User可以有许多Identities,例如facebook,twitter等。您的身份模型会像,

Identity(id: integer, uid: string, provider: string, user_id: reference)