我有一个带有两种不同类型用户的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用户注册时发生扩展权限。
由于这是初始化器,这甚至可能吗?或者我可以在应用程序的其他地方以某种方式config.omniauth并保持设计快乐吗?
答案 0 :(得分:1)
在文档
中清楚地解释了这一点如果要在a上设置显示格式,auth_type或范围 根据请求,您可以将其传递给OmniAuth请求阶段 URL,例如:/ auth / facebook?display = popup或 / AUTH / Facebook的?范围=电子邮件。
来源:https://github.com/mkdynamic/omniauth-facebook#per-request-options