安装 Shopify 应用后重定向到自定义 url
Redirect to custom url after Shopify app is installed
我正在开始 Shopify 应用程序开发。我正在开发一个嵌入式 Shopify 应用程序,它将安装到 Shopfify 商店。安装后,我想为 Shopify Store Admin 和 Shopify Embedded App 的 Admin 提供单独的网页,他们可以在其中查看统计信息并执行一些操作。 (我不知道我是否应该将这些页面保留在 shopify 商店域或外部托管域中,关于哪个适合这个用例有什么建议吗?)
我正在使用 shopify_app and shopify_api 宝石在 Rails 上的 Ruby 中构建它。
我面临的问题是,在将应用程序安装到 Shopify 商店后,默认情况下它会被重定向到 /auth/shopify/callback
,这是由 shopify_app
引擎处理的,它会重定向应用程序安装程序(shopify商店 owner/merchant) 到 shopify 商店的域(请参阅此代码 here)。
module ShopifyApp
# Performs login after OAuth completes
class CallbackController < ActionController::Base
include ShopifyApp::LoginProtection
def callback
return respond_with_error if invalid_request?
store_access_token_and_build_session
if start_user_token_flow?
return respond_with_user_token_flow
end
perform_post_authenticate_jobs
respond_successfully
end
private
def respond_successfully
if jwt_request?
head(:ok)
else
redirect_to(return_address)
end
end
end
end
而 return_address
的定义是
def return_address
return base_return_address unless ShopifyApp.configuration.allow_jwt_authentication
return_address_with_params(shop: current_shopify_domain)
rescue ShopifyDomainNotFound
base_return_address
end
我想做的是在安装应用程序后(授予 oauth 权限)我想重定向到自定义 URL(最好是一些外部网站,我将为 Shopify 商店管理员托管和 Shopiy 应用程序管理员),这怎么可能?
Essentially what I'm attempting is to go to a custom URL instead of the return_address_with_params(shop: current_shopify_domain)
And any pointers on how to handle authentication once we are redirected to that external URL?
我刚刚开始使用 Shopify 应用程序开发,这就是为什么我在理解这些流程时遇到困难的原因。任何帮助表示赞赏。
谢谢
如果你在设置APP的时候选择了“嵌入式APP”,那么就没有办法同时处理APP,比如后台嵌入iframe和单独域APP。
您只能选择其中一项,不能两者都选。
我正在开始 Shopify 应用程序开发。我正在开发一个嵌入式 Shopify 应用程序,它将安装到 Shopfify 商店。安装后,我想为 Shopify Store Admin 和 Shopify Embedded App 的 Admin 提供单独的网页,他们可以在其中查看统计信息并执行一些操作。 (我不知道我是否应该将这些页面保留在 shopify 商店域或外部托管域中,关于哪个适合这个用例有什么建议吗?)
我正在使用 shopify_app and shopify_api 宝石在 Rails 上的 Ruby 中构建它。
我面临的问题是,在将应用程序安装到 Shopify 商店后,默认情况下它会被重定向到 /auth/shopify/callback
,这是由 shopify_app
引擎处理的,它会重定向应用程序安装程序(shopify商店 owner/merchant) 到 shopify 商店的域(请参阅此代码 here)。
module ShopifyApp
# Performs login after OAuth completes
class CallbackController < ActionController::Base
include ShopifyApp::LoginProtection
def callback
return respond_with_error if invalid_request?
store_access_token_and_build_session
if start_user_token_flow?
return respond_with_user_token_flow
end
perform_post_authenticate_jobs
respond_successfully
end
private
def respond_successfully
if jwt_request?
head(:ok)
else
redirect_to(return_address)
end
end
end
end
而 return_address
的定义是
def return_address
return base_return_address unless ShopifyApp.configuration.allow_jwt_authentication
return_address_with_params(shop: current_shopify_domain)
rescue ShopifyDomainNotFound
base_return_address
end
我想做的是在安装应用程序后(授予 oauth 权限)我想重定向到自定义 URL(最好是一些外部网站,我将为 Shopify 商店管理员托管和 Shopiy 应用程序管理员),这怎么可能?
Essentially what I'm attempting is to go to a custom URL instead of the
return_address_with_params(shop: current_shopify_domain)
And any pointers on how to handle authentication once we are redirected to that external URL?
我刚刚开始使用 Shopify 应用程序开发,这就是为什么我在理解这些流程时遇到困难的原因。任何帮助表示赞赏。
谢谢
如果你在设置APP的时候选择了“嵌入式APP”,那么就没有办法同时处理APP,比如后台嵌入iframe和单独域APP。
您只能选择其中一项,不能两者都选。