繁体   English   中英

更改shopify_app gem的引擎路线

[英]Change Engine routes for shopify_app gem

我正在将shopify_app gem与rails 5一起使用。我希望shopify_app从嵌套路由运行。 例如:/ shopify_app / login或'/ shopify_app / auth / shopify / callback'。

我尝试了gem文档中给出的解决方案,并将这些行放入我的route.rb文件中:

mount ShopifyApp::Engine, at: 'shopify_app'  
get '/shopify_app' => 'settings#index'

shopify_app根的路由 shopify_app引擎的路线

但这不是这种方式。 因此,我四处搜寻,找到了一种解决方案,可以通过在omniauth初始化程序中进行一些更改来使其工作。

Rails.application.config.middleware.use OmniAuth::Builder do
    provider :shopify, ShopifyApp.configuration.api_key, ShopifyApp.configuration.secret, scope: ShopifyApp.configuration.scope, callback_path: '/shopify_app/auth/shopify/callback'
end

以下是应用程序设置:

嵌入式App SDK:已启用

应用网址: https//salebait.com/settings

列入白名单的重定向网址: https//salebait.com/shopify_app/auth/shopify/callback

现在的问题是,当我第一次安装我的应用程序时,它在安装后会重定向到我网站的主页( https://salebait.com ),但是应该在商店管理员中打开https://salebait.com/settings页面。 而且,如果我关闭浏览器或从商店注销并再次返回到应用程序,它将转到https://salebait.com/login ,这不是有效页面,因为所有应用程序路由都包裹在/ shopify_app /中,因此登录URL该应用程序应为https://salebait.com/shopify_app/login 然后,我必须手动点击应用程序的登录URL才能使其正常工作。

请提出一些解决方案,使我的应用程序路由正常运行。

编辑:如果尝试在其他浏览器中打开应用,则应用重定向到错误的登录页面。这是该错误的屏幕: 在此处输入图片说明

谢谢。

如果有人在寻找解决方案,那就是:我正在将shopify_app引擎挂载在“ / shopify_app”命名空间下。 但它是gem的默认名称空间,因此它不会覆盖默认路由。

因此,我将shopify_app命名空间更改为“ / app”,并且运行顺利。

mount ShopifyApp::Engine, at: 'app'  
get '/app' => 'settings#index'

还更改了Omniauth构建器和应用程序设置中的路径。

Rails.application.config.middleware.use OmniAuth::Builder do
    provider :shopify, ShopifyApp.configuration.api_key, ShopifyApp.configuration.secret, scope: ShopifyApp.configuration.scope, callback_path: '/app/auth/shopify/callback'
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM