我安装
git://github.com/applicake/doorkeeper-provider-app.git和
git://github.com/applicake/doorkeeper-devise-client.git同
RackBaseURI /provider和
RackBaseURI /client分别使用apache2和passenger。
现在,某些OAuth重定向不再有效。
提供商应该重定向到 https://example.org/provider/users/sign_in 但去 https://example.org/users/sign_in
我认为我已经在客户端正确处理了客户端的重定向 编辑config / initializers / devise.rb
config.omniauth :doorkeeper, DOORKEEPER_APP_ID, DOORKEEPER_APP_SECRET, :client_options => {
:site => DOORKEEPER_APP_URL,
:authorize_url => "#{DOORKEEPER_APP_URL}/provider/oauth/authorize",
:ssl => {:ca_path => "/etc/ssl/certs"}
}
但如上所示,我无法在提供商中找到该做什么。 谢谢你的帮助
答案 0 :(得分:0)
Oauth或门卫似乎没有意识到这一点 RackBaseURI / provider
所以我尝试调整路线
devise_for :users, path: "provider/users"
适用于生成路径。它创造了:
new_user_session GET /provider/users/sign_in(.:format) {:action=>"new", :controller=>"devise/sessions"}
user_session POST /provider/users/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"}
然而,我有一个新问题,即传入的网址不再被识别! 因此,为相同的操作提供额外的路径:
devise_scope :user do
get "/users/sign_in" , to: "devise/sessions#new"
post "/users/sign_in" , to: "devise/sessions#create"
end
我把它拼凑在一起,没有遇到文件说明这是做这件事的方法。