Liquid, JavaScript, themes, sales channels
Hi,
My app uses VueJS for the client side. I'm working on making it compatible with the new admin.shopify.com domain.
After reading some documentation online, I figured we need to send the host instead of shopOrigin. However, I'm unable to figure out how to fetch the host in Vue. Is there any documentation or example available for the same?
My current code is:
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>',
beforeCreate () {
Vue.prototype.$shopID = this.$route.query.shopID
ShopifyService.getShopDetail(this.$route.query.shopID, 'email').then((result) => {
var shopOrigin = 'https://' + result.data.domain
const app = createApp({
apiKey: [api_key],
host: window.btoa(shopOrigin + '/admin')
});
}).catch((error) => {
console.log(error)
})
}
})
I'm having the same issue. I've been getting a cascade of new windows opening. The app will start on the old shopify domain, then redirect to admin.shopify.com, then open a new tab that's at the old shopify domain, over and over again. All new tabs have the query param force_legacy_domain=1. When new tabs open, they invalidate the old ones, and I'm redirected to a page that says there's a cookie error.
I'm using a custom express app that's originally derived from the shopify-app-template-node. Here are my node module dependencies:
For package.json:
"dependencies": {
"@shopify/app": "3.25.0",
"@shopify/cli": "3.25.0"
},
For web/package.json:
"dependencies": {
"@shopify/shopify-app-express": "^1.0.0",
"@shopify/shopify-app-session-storage-sqlite": "^1.0.0",
"@types/express": "^4.17.13",
"@types/express-serve-static-core": "^4.17.30",
"compression": "^1.7.4",
"cookies": "^0.8.0",
"cross-env": "^7.0.3",
"mongoose": "^6.8.4",
"node-fetch": "^3.3.0",
"serve-static": "^1.14.1"
},
"devDependencies": {
"jsonwebtoken": "^8.5.1",
"nodemon": "^2.0.15",
"prettier": "^2.6.2",
"pretty-quick": "^3.1.3"
},
For web/frontend/package.json:
"dependencies": {
"@shopify/app-bridge": "^3.1.0",
"@shopify/app-bridge-react": "^3.1.0",
"@shopify/app-bridge-utils": "^3.1.0",
"@shopify/polaris": "^10.17.1",
"@shopify/polaris-icons": "^6.7.0",
"@vitejs/plugin-react": "1.2.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-query": "^3.34.19",
"react-router-dom": "^6.3.0",
"vite": "^2.8.6"
},
"devDependencies": {
"history": "^5.3.0",
"jsdom": "^19.0.0",
"prettier": "^2.6.0",
"vi-fetch": "^0.6.1"
}
Is there a version of any of these packages that I need to update to in order for the new redirects to work?
Hi @StevenGraf,
Were you able to figure a way to fix this? I'm still facing the same issue where cascading windows open with the parameter force_legacy_domain=1 each time I access the app page.
Thanks,
Pinal
We're facing a similar issue. In our case, the embedded app launches twice:
Once in a new tab with this URL:
https://<SHOP_NAME>.myshopify.com/admin/apps/<APP_NAME>?force_legacy_domain=1
Then in the same tab with this URL:
https://admin.shopify.com/store/<SHOP_NAME>/apps/<APP_NAME>
What is missing in our side to avoid launching the new tab? It's not clear from the docs what this behaviour entails.
User | RANK |
---|---|
37 | |
24 | |
13 | |
13 | |
9 |
Transform this holiday season into a shopping spree. Plus, learn how to effortlessly open ...
By Jasonh Dec 8, 2023Make the shift from discounts to donations, and witness your business not only thrive fina...
By Holly Dec 4, 2023On our Shopify Expert Marketplace, you can find many trusted third party developers and fr...
By Arno Nov 27, 2023