2010-11-25 10 views
15

Я прочитал OmniAuth OAuth RDocрельсы OmniAuth facebook продлевал разрешение

@consumer = OAuth::Consumer.new(key, secret, { 
    :site    => "http://term.ie", 
    :scheme    => :header, 
    :http_method  => :post, 
    :request_token_path => "/oauth/example/request_token.php", 
    :access_token_path => "/oauth/example/access_token.php", 
    :authorize_path  => "/oauth/example/authorize.php" 
    }) 

нет никакой возможности, такие как

https://graph.facebook.com/oauth/authorize? 
    client_id=...& 
    redirect_uri=http://www.example.com/callback& 
    scope=user_photos,user_videos,publish_stream 

Как добавить? Я пытаюсь перезаписать oauth сейчас ... Кто-нибудь получил лучшее решение?

ответ

39

Поместите это в инициализаторе

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook , 'app' , 'secret' , {:scope => "manage_pages"} 
end 

Если вы используете более чем одну область, это разделенный запятыми:

:scope => "offline_access, manage_pages" 
+1

Спасибо за это. –

+7

, если вы используете более одного: область действия, используйте разделенную запятыми строку: : scope => «offline_access, manage_pages» – rafamvc

+2

Документация для настройки провайдера здесь: http://rubydoc.info/gems/oa-oauth/0.2. 6/OmniAuth/Стратегии/Разрешения/область действия в Интернете, перечисленные здесь: https://developers.facebook.com/docs/reference/api/permissions/ – clacke