我有一个主应用程序和一个共享密钥的帮助。如果我未在主应用程序中通过身份验证,则帮助站点将重定向到主应用程序。我的想法是,Devise会记住您尝试访问该站点的路径,然后在身份验证后将您发送到该路径。
我在主应用程序中尝试过此操作
get '/help', to: redirect('https://help.mydomain.com'), as: :help
问题是我遇到ERR_TOO_MANY_REDIRECTS
错误。我希望我的主应用程序Devise首先进行身份验证,然后重定向。
有什么想法吗?
更新
靠近:
# routes.rb
authenticated :user do
get '/help', to: redirect('https://help.insertyour.domain'), as: :help
end
unauthenticated do
get '/help', to: 'home#dashboard'
end
这解决了重定向问题,但又造成了另一个问题。帮助站点会将您发送到主站点(https://app.insertyour.domain/help
)注册页面。您进行身份验证,然后设计将您发送回帮助站点,它允许访问。问题是,如果您返回主应用程序,则必须再次进行身份验证。这不是主意,但现在可以使用。不确定为什么尝试重新访问主站点需要再次进行身份验证。
答案 0 :(得分:0)
Devise将令牌设置为cookie,并且显然不与help.mydomain.com
共享(这是安全的默认设置)。如果帮助应用位于子域下,则可以configure session store, to allow subdomains:
Rails.application.config.session_store :cookie_store, key: '_my_app_session', domain: '.mydomain.com'