Наличие различных действий обратного вызова в OmniAuth - PullRequest
1 голос
/ 10 сентября 2011

Я использую драгоценные камни Omniauth и Fb_graph в своем приложении.

Я хотел выполнить два разных действия над:

1) Зарегистрироваться через Facebook -> Используя Omniauth, я создаю аутентификацию и перенаправляю на root_path

2) Поиск друзей в Facebook -> Если аутентификация существует, найдите друзей с помощью fb_graph. Если он не существует, создайте аутентификацию в omniauth, а затем перенаправьте на fb_friends_path

Как я могу иметь различные обратные вызовы после аутентификации с помощью Omniauth? (В первом случае я хочу перенаправить на root_path, а во втором случае я хочу перенаправить на fb_friends_path после создания аутентификации, если она не существует.)

Большое спасибо!

1 Ответ

1 голос
/ 21 сентября 2011

Предполагая, что вы используете rails, настройте фильтр before, называемый: auth_required, который проверяет, имел ли этот пользователь авторизацию установки в прошлом - возможно, вы храните токены oauth и можете проверить его.Место: auth_required перед действием, которое соответствует fb_friends_path.Если у них нет настройки авторизации, сохраните намерение пользователя (его желаемый URL) в сеансе.

В обратном вызове вы настроили omniauth, если на него сохранено намерение перенаправить его и удалить.В противном случае предположим, что они регистрируются, и отправьте их по корневому пути.

...