У меня есть два отдельных приложения, API-интерфейс только для Rails и реагирующее приложение. Я пытаюсь аутентифицировать пользователя с помощью ссылки в электронном письме (с токеном).
На данный момент у меня есть:
1 В приложении React пользователь нажимает login with fb
кнопка, которая авторизуется с помощью фб. 2 Получив ответ fb, я отправляю запрос в Rails API и сохраняю пользователя в базе данных Rails API. 3 После этого в Rails API я отправляю электронное письмо пользователю, чтобы он мог щелкнуть ссылку с токеном. 4 Пользователь щелкает ссылку в письме, и Rails API получает этот запрос с токеном и активирует пользователя в базе данных. .
Теперь мой вопрос. Поскольку это API-интерфейс, я не могу ответить на странице html, в которой говорится, что теперь вы прошли проверку подлинности, пожалуйста, войдите в систему еще раз или STH.
Что мне делать? 1) Есть ли способ из API, чтобы отправить пользователя на реагирующий URL? Я имею в виду, что пользователь переходит на страницу моего приложения React. 2) Если Rails API создает ссылку с токеном, но на основе домена React, и как только пользователь нажимает ссылку в сообщении электронной почты, каким-то образом go отреагировать приложение, а не на API рельсы, а затем из приложения реагировать отправить запрос на API рельсы с этим токеном? таким образом, при ответе Rails Api я могу перейти с React на другую страницу, потому что я нахожусь в приложении React
Подтверждение сообщения электронной почты выглядит так:
resources :users, only: [] do
member do
get :confirm_email
end
end
и действие делает это в какой-то момент, найдя пользователя:
def email_activate
self.email_confirmed = true
self.confirm_token = nil
save!(:validate => false)
end
И ссылка в письме выглядит следующим образом:
<%= confirm_email_user_url(@user.confirm_token) %>