使用设计为每个用户设置不同的facebook oauth范围

时间:2013-02-26 18:49:31

标签: ruby-on-rails facebook facebook-graph-api devise omniauth

我有一个带有两种不同类型用户的rails应用程序(称为A和B)。现在他们都可以用facebook登录。但是,我需要B能够使用某些扩展权限进行oauth,而且我不希望A给我扩展权限。

内部config / initializers / devise.rb

config.omniauth :facebook, "API_KEY", "API_SECRET", :client_options => {:ssl => {:ca_path => '  /path/to/my/ssl/stuff'}}

我知道我可以添加

:scope => "extended_permissions"

但我只想在B用户注册时发生扩展权限。

由于这是初始化器,这甚至可能吗?或者我可以在应用程序的其他地方以某种方式c​​onfig.omniauth并保持设计快乐吗?

1 个答案:

答案 0 :(得分:1)

在文档

中清楚地解释了这一点
  

如果要在a上设置显示格式,auth_type或范围   根据请求,您可以将其传递给OmniAuth请求阶段   URL,例如:/ auth / facebook?display = popup或   / AUTH / Facebook的?范围=电子邮件。

来源:https://github.com/mkdynamic/omniauth-facebook#per-request-options