Shopify-为私人应用程序创建会话 [英] Shopify - creating session for private app
本文介绍了Shopify-为私人应用程序创建会话的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用RoR创建应用程序,以便可以测试ShopifyAPI。 我使用的是我通过合作伙伴管理门户创建的私有应用。
我尝试使用生成的密码创建会话。会议似乎是有效的。
LOGIN_CONTROLLER:
def index
debugger
sess = ShopifyAPI::Session.new('a75999989b7715f73ae5273497b9bfcb:9eb9f578d9fcfd753713e079@mante-hudson7934.myshopify.com', '9eb9f578d9fcfd753713e0795')
sess.valid?
session[:shopify] = sess
flash[:notice] = "Logged in"
redirect_to return_address
session[:return_to] = nil
end
但是当我尝试获取所有产品(Products=ShopifyAPI::Product.find(:All,:params=>{:Limit=>10})
我以500错误结束。
这是我的调试跟踪:
1: ShopifyAPI::Base.site = https://a75999989b7715f73ae5273497b9bfcb:9eb9f578d9fcfd753713e079596d4fbd@mante-hudson7934.myshopify.com/admin/
~/.rvm/gems/ruby-1.9.3-p194@rails328/gems/shopify_app-4.0.0/lib/shopify_app/login_protection.rb:9
ShopifyAPI::Base.clear_session
在浏览器中,我有一个例外: "对等重置连接-SSL_CONNECT"
我的会话显然有问题.
我是否遗漏了什么?
谢谢
--编辑--
实际上,我尝试通过IRB获取产品,结果也出现了相同的500错误: "对等重置连接-SSL_CONNECT"不确定我出现此错误的原因?
Regis
SSL
最有可能的是,您的客户端正在尝试使用TLS1.2进行连接,TLS1.2是推荐答案中使用的较新的SSL/TLS协议之一。我们的负载平衡硬件在TLS 1.2中存在一个已知问题,但直到我自己独立发现此错误时,我们才意识到这一问题。
我已经让运营团队的睡觉意识到了这一点,我希望我们会尽快解决这个问题。在此之前,您可以使用
http.ssl_version = :TLSv1
强制Ruby改用TLS1.0。(某些客户端可能需要改用:SSLv3
。)
下面是如何将此解决方法应用于shopify_api
gem内部使用的gem ActiveResource的示例:
require 'active_resource/connection'
class ActiveResource::Connection
def apply_ssl_options_with_ssl_version(http)
apply_ssl_options_without_ssl_version(http)
http.ssl_version = @ssl_options[:ssl_version] if @ssl_options && @ssl_options[:ssl_version]
http
end
alias_method_chain :apply_ssl_options, :ssl_version
end
现在您可以使用
ShopifyAPI::Base.ssl_options = {:ssl_version => :TLSv1}
(如有必要,或:SSLv3
)解决此问题。
这篇关于Shopify-为私人应用程序创建会话的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文