如何使用OAuth和门卫存储会话数据?

时间:2013-04-15 12:59:51

标签: ruby-on-rails session oauth doorkeeper

是否存在使用门卫gem(或一般OAuth)存储将绑定到特定OAuth令牌的用户设置的统一方式?

我希望用户在登录时选择区域设置,只要使用相同的令牌,就会保留。在我的用例中,我希望设置是特定于会话的而不是特定于用户的 - 可以向单个资源所有者发出多个令牌,并且具有不同的设置。

1 个答案:

答案 0 :(得分:0)

一种方法是创建一个具有oauth_tokenuser_id字段的Preference模型。当您的用户设置首选项时,会使用oauth_token和user_id以及他们的首选项中涉及的任何数据创建首选项,在这种情况下,您的首选项表中有三个字段:

oauth_token:stringuser_id:integerlocale:string

当用户登录时,current_user.token可用于与首选项中的oauth字段匹配,然后您可以加载首选项。