Я создаю веб-приложение (с помощью API тоже), использующее драгоценный камень Devise для аутентификации, и я также использую драгоценный камень Doorkeeper для аутентификации для части API.
Проблема в том, что когда я перехожу к URL-адресу для получения кода Oauth2 (и входа в систему), я перенаправляюсь к веб-приложению, а не к URL-адресу обратного вызова клиента.
Что мне нужно сделать, так это перенаправление на веб-приложение при обычной регистрации и обратном вызове при использовании Oauth.
Как я могу это сделать? Я перезаписываю контроллер сессий Devise, но я не знаю, что ему в него поделать.
Это мой код:
def new
session[:return_to] = params[:return_to] if params[:return_to]
resource = build_resource
clean_up_passwords(resource)
end
def create
resource = warden.authenticate!(auth_options)
sign_in(resource_name, resource)
if session[:return_to]
redirect_to session[:return_to]
session[:return_to] = nil
else
respond_with resource, :location => after_sign_in_path_for(resource)
end
end
Проблема заключается в том, что Devise, похоже, игнорирует мою логику перенаправления.
Проконсультируйтесь с нами.