2

我有一个回调方法,它是通过 Salesforce 登录后的回调 URL。

Salesforce 在开发中正确重定向回我的应用程序,但在暂存阶段,它不再读取/识别https协议。

一件事是,httpSalesforce connect APP 配置中不允许回调 URL,因此我将其指定为https.

但问题是,我的应用程序不适合https协议

回调 URL 的片段:

https://staging.test.com/callback/salesforce?code=ABCDE

浏览器一直在说:This webpage is not available

如果我在地址栏中手动将其更改为http://staging.test.com/callback/salesforce?code=ABCDE

它将被重定向到我的应用程序,没有任何问题。当然,我不希望用户手动将协议更改为http仅通过 Saleforce 登录。

我尝试过使用https://github.com/bartt/ssl_requirement来强制执行HTTP,但没有运气。它只是说 与redirect_uri配置中指定的回调 URL 不匹配(因为配置中的那个是 in https)。

我也尝试过使用before_filterinapplication_controller.rb但它也不起作用。

before_filter :forcehttp

def forcehttp

  if request.ssl? && Rails.env.staging?
    redirect_to :protocol => 'http://', :status => :moved_permanently
  end
end

任何解决方法将不胜感激。

4

0 回答 0