过去几天我一直在尝试创建一个应用程序。首先,我一直在尝试在localhost(http://localhost)上创建一个应用程序,但由于Shopify仅支持https,因此一直出现错误。然后我将应用程序部署到我的VPS(https://my.domain.com)并在我的合作伙伴帐户中指定了回调URL(https://my.domain.com)。当我进入我要安装应用程序的商店时,弹出安装窗口,我可以单击“安装”。如果我这样做,会发生同样的不匹配。我发现这是因为URL看起来像这样:
https://shop.myshopify.com/admin/oauth/authorize?client_id=XXX&redirect_uri=HTTP%3A%2F%2Flocalhost%3...
这是不匹配发生的地方。我不明白为什么因为redirect_uri默认情况下应该是callback-URL,否则不指定。 callback-app-URL是“https://my.domain.com”,为什么redirect_uri“http:// ...”以及如何解决这个问题?
我想我需要在omniauth.rb初始化程序中的某处指定redirect_uri?
provider :shopify, redirect_uri: "https://localhost:3000"
ShopifyApp.configuration.api_key,
ShopifyApp.configuration.secret,
:scope => ShopifyApp.configuration.scope,
:setup => lambda {|env|
params = Rack::Utils.parse_query(env['QUERY_STRING'])
site_url = "https://#{params['shop']}"
env['omniauth.strategy'].options[:client_options][:site] = site_url
}
感谢任何帮助,真的不知道该怎么做