1

Я использую Omniauth и Fb_graph gems в своем приложении.Имея различные действия обратного вызова в OmniAuth

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

1) Зарегистрироваться с помощью facebook -> Использование OmniAuth создать аутентификации и перенаправления root_path

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

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

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

ответ

1

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

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

Смежные вопросы