此问题类似于使用 OmniAuth 时如何指定我需要从用户的 Facebook 帐户获得的访问权限?但有一个警告。
我正在使用 OmniAuth 在我的网站上授权 Facebook 用户。对于常规登录/注册,要求用户提供标准 Facebook 权限是可以接受的。但是我的网站上有一项功能需要扩展权限(访问他们的 Facebook 照片)。我只想在/如果他们使用我们网站的 Facebook 照片功能时为用户请求扩展权限。
我在网上找到的关于如何为omniauth 设置facebook 权限的所有答案只需在您的OmniAuth 初始化程序中添加一个范围选项,如下所示:
ActionController::Dispatcher.middleware.use OmniAuth::Strategies::Facebook, 'app_id', 'app_secret', {:scope => 'email,offline_access,the,scope,you,want}
但是我需要动态定义范围,这样只有当用户使用照片功能时,他们才会被要求提供照片权限,但如果他们只是第一次登录或注册,则不会。
有人知道怎么做吗?提前致谢。