我有一个回调方法,它是通过 Salesforce 登录后的回调 URL。
Salesforce 在开发中正确重定向回我的应用程序,但在暂存阶段,它不再读取/识别https
协议。
一件事是,http
Salesforce 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_filter
inapplication_controller.rb
但它也不起作用。
before_filter :forcehttp
def forcehttp
if request.ssl? && Rails.env.staging?
redirect_to :protocol => 'http://', :status => :moved_permanently
end
end
任何解决方法将不胜感激。