【问题标题】:In Shopify Private app, Proxy URL Redirect to App's Server URL在 Shopify Private 应用中,代理 URL 重定向到应用的服务器 URL
【发布时间】:2019-05-30 11:59:54
【问题描述】:

我正在开发 Laravel 框架中的 Shopify 私人应用程序。在我的应用程序中,我添加了一个代理 URL。但是当我试图打开我的代理 URL 时,它会在我的应用服务器 URL 上重定向到我。

这是我的合作伙伴帐户的屏幕截图:-

例如:- 每当我尝试打开代理 URL 时:- https://test.myshopify.com/a/test

它将重定向到我的应用服务器 URL:- https://test.devserver.co.in/shopify/test?shop=test.myshopify.com&path_prefix=%2Fa%test&timestamp=1559210902&signature=bed7eb24d4a9278021a12535df9e38749a333a9dd33e7164fb66c113a2a00a0e

请帮我解决这个问题。 谢谢

【问题讨论】:

  • 您是否使用任何套餐进行 Shopify 身份验证?
  • @bhavinjr 不,我已经根据 Shopify OAuth 指南创建了一个自定义应用安装过程。

标签: laravel shopify shopify-app


【解决方案1】:

您实际上并没有像 https://test.myshopify.com/a/fizzbuzz 那样回调您的代理 URL

相反,您使用一些参数(或不使用)对 /a/fizzbuzz 执行 POST 或 GET。换句话说,就好像您正在对 Shopify 商店本身的本地内容进行 POST 或 GET 操作。没有任何东西可以识别您的实际代理应用程序。

也许这是您的简单问题。 Shopify 将获取您的 POST 或 GET,并安全地将其代理到您应用中的正确端点。

【讨论】:

  • 感谢您的回复。这是否意味着我无法通过浏览器中的点击直接打开代理 URL?我可以以编程方式打开代理 URL,并且还通过此 URL 传递了一些数据。我说的对吗?
  • 如果您选择在浏览器路径中点击,即test.myshopify.com/a/fizzbuzz,那么 Shopify 将向您的 App 端点发送一个 GET,您将返回 Application/Liquid 和一串Liquid 以便 Shopify 将其显示为 {{content_for_layout}}。
  • 如果我直接在浏览器中打开代理 URL,那么它会将我重定向到我上面提到的应用服务器的 URL。我认为这会在 laravel 中发生,因为我的应用程序在 laravel 中
  • 我不知道你做错了什么,但如果你的应用程序在你的应用程序内对该路由呈现一些身份验证,那么你需要将该路由与身份验证分离。相反,允许您的代理路由端点使用来自 Shopify 的嵌入标头的安全检查模式来验证来电。
  • 再次感谢您的回复。但是我已经为代理创建了不同的路由。无需身份验证即可打开路由。如何使用带有 Shopify 嵌入标头的安全检查模式来验证来电?请你帮我解决这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-04
  • 1970-01-01
  • 1970-01-01
  • 2012-09-10
相关资源
最近更新 更多