【发布时间】:2013-01-08 09:49:37
【问题描述】:
我正在构建一个使用 Devise gem 进行身份验证的 Web 应用程序(也带有 API),我还使用 Doorkeeper gem 进行 API 部分的身份验证。
现在的问题是,当我转到用于接收 Oauth2 代码(和登录)的 URL 时,我被重定向到 Web 应用程序而不是客户端回调 URL。
我需要做的是在正常登录时重定向到 Web 应用,在使用 Oauth 时重定向到回调 URL。
我该怎么做?我正在覆盖 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 似乎忽略了我的重定向逻辑。
请多多指教。
【问题讨论】:
标签: ruby-on-rails devise oauth-2.0