Devise验证后重定向

问题描述 投票:0回答:1

我有一个主应用和一个共享密钥的帮助。如果我未在主应用程序中通过身份验证,则帮助站点将重定向到主应用程序。我的想法是,Devise会记住您尝试访问该站点的路径,然后通过身份验证将其发送给您。

我在主应用程序中尝试过此操作:

get '/help', to: redirect('https://help.mydomain.com'), as: :help

问题是我收到了ERR_TOO_MANY_REDIRECTS错误。我希望我的主应用程序Devise首先进行身份验证,然后重定向。

有什么想法吗?

UPDATE

接近:

    # 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)注册页面。您进行身份验证,然后设计将您发送回帮助站点,它允许访问。问题是,如果您返回主应用程序,则必须再次进行身份验证。这不是主意,但现在可以使用。不知道为什么再次尝试访问主站点需要再次进行身份验证。

ruby-on-rails ruby devise
1个回答
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'
© www.soinside.com 2019 - 2024. All rights reserved.