Как я могу указать, какой доступ мне нужен из учетных записей моего пользователя в Facebook при использовании OmniAuth? - PullRequest
5 голосов
/ 31 октября 2010

Когда вы используете OmniAuth для входа в веб-приложение через Facebook, у веб-приложения есть следующие разрешения:

Access my basic information Includes name, profile picture, gender, networks, user ID, list of friends, and any other information I've shared with everyone.

Send me email WebApp may email me directly at email@email.com

Access my data any time WebApp may access my data when I'm not using the application

Тогда как при использовании mini_fb gem, чтобы связать веб-приложение с Facebook, вот эти разрешения (нужно указать это как код, иначе форматирование было бы странным):

Access my basic information
Includes name, profile picture, gender, networks, user ID, list of friends, and any other information I've shared with everyone.

Required
Send me email
WebApp may email me directly at email@email.com ·

Required
Access my profile information
Likes, Music, TV, Movies, Books, Quotes, About Me, Activitie...s, Interests, Groups, Events, Notes, Birthday, Hometown, Current City, Website, Religious and Political Views, Education History, Work History and Facebook StatusSee More

Required
Online Presence

Required
Access my family & relationships
Family Members and Relationship Status

Required
Access my photos and videos
Photos Uploaded by Me, Videos Uploaded by Me and Photos and Videos of Me

Required
Access my friends' information
Birthdays, Religious and Political Views, Family Members and... Relationship Statuses, Hometowns, Current Cities, Likes, Music, TV, Movies, Books, Quotes, Activities, Interests, Education History, Work History, Online Presence, Websites, Groups, Events, Notes, Photos, Videos, Photos and Videos of Them, 'About Me' Details and Facebook StatusesSee More

Required
Post to my Wall
WebApp may post status messages, notes, photos, and videos to my Wall

Access messages in my inbox

Access posts in my News Feed

Access my data any time
WebApp may access my data when I'm not using the application

Access Facebook Chat

Send me SMS messages
WebApp may send SMS messages to my phone:

Manage my events
WebApp may create and RSVP to events on my behalf

Access my custom friend lists

Access my friend requests

Insights
WebApp may access Insights data for my pages and applications

Manage my advertisements

Я использую OmniAuth в данный момент, и я хотел бы продолжать это делать, но моему приложению нужны дополнительные разрешения, например, некоторые дополнительные, которые есть у mini_fb .Кто-нибудь знает, как я могу настроить OmniAuth для запроса дополнительных разрешений?

Ответы [ 2 ]

10 голосов
/ 31 октября 2010

Вы можете проверить опцию, используя атрибут :scope:

use OmniAuth::Strategies::Facebook, 'app_id', 'app_secret', {:scope => 'email,offline_access, your,scope,you,want'}

Проверьте документацию по разрешениям Facebook какую область вы действительно хотите, и определите ее отдельно с помощью команды :scope option.

Если вы используете инициализатор для определения вашего OamniOauth, это так:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, 'APP_ID', 'APP_SECRET', {:scope => 'email,offline_access, your,scope,you,want'}
end
0 голосов
/ 19 августа 2012

Если вы используете devise (как и я), самое простое решение - включить в свой Gemfile оба слова: devise и omniauth-facebook. Тогда в вашем инициализаторе устройства вы можете просто добавить:

config.omniauth :facebook, "app", "secret", :scope => "user_photos"

Это довольно хорошо. Добавление инициализатора omniauth с настройкой устройства

...