Shopify-为私人应用程序创建会话 [英] Shopify - creating session for private app

查看:21
本文介绍了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_apigem内部使用的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆