Im dev an app via ngrok. after i install app, im not directed to my app url sign on partner app config. Instead of it, im directed to app install page
my logic is when window.top == window.self, i will call oauth.authorize to access redirection url sign on partner config (auth/callback).
Is there any missunderstanding of mine so im get directed into install app page instead of my app url
Hi - are you still seeing this issue? If you’re always being redirected to the install page, it usually means your app is not detecting a valid session or access token for the shop, so it keeps triggering the OAuth flow.
For embedded apps, you must handle iframe restrictions. If your app is loaded in an iframe (Shopify Admin), you cannot redirect the parent window directly. You need to “escape” the iframe using App Bridge before redirecting to the OAuth flow.
There’s more info on this here: Exchange a session token for an access token
Hi @Liam-Shopify, Look like we misunderstanding each other.
The problem im facing is after install app, client will be direct to app url that i assigned. But currently, after installing app client be directed to admin page instead (install page if its the first time)
And im still getting session token and can be auth to access admin api, im not getting authen problem.
If there is any solutions, please let me know.
Are you using managed installs?
When Shopify Managed Installs is enabled, merchant is always redirected to install page first instead of the configured App URL.
Maybe not, im even getting this when install on my dev store
Can you share your toml
file?
of course, this is mine
# Learn more about configuring your app at https://shopify.dev/docs/apps/tools/cli/configuration
client_id = "my_client_id"
name = "Mikenco"
handle = "mikenco-2"
application_url = "https://my_url/"
embedded = true
[build]
include_config_on_deploy = true
[webhooks]
api_version = "2025-01"
[auth]
redirect_urls = [ "https://my_url/api/shopify/auth/callback" ]
[app_proxy]
url = "https://my_url/api/proxy"
subpath = "mikenco"
prefix = "apps"
[pos]
embedded = false
I don’t see the [access_scopes]
section.
Can you add that as well please?
Im adding scope by authorize url like this so im not list is on my toml file
https://${shop}/admin/oauth/authorize?client_id=${apiKey}&scope=${scope}&redirect_uri=${redirectUri}
;
btw this is my scopes:
read_orders,read_themes,write_themes,read_products,write_products,read_content,write_content,read_discounts,write_discounts,read_price_rules,write_price_rules,read_customers,write_customers,unauthenticated_read_customers,write_returns,write_orders,customer_read_customers,customer_write_customers,unauthenticated_write_customers,read_locations,write_locations,write_inventory
Understood.
As mentioned here. When use_legacy_install_flow
is not added in toml
it automatically uses the managed installs.
You can read more about managed installs here:
In case you don’t want to use managed installs.
Add the scopes to your toml
file.
[access_scopes]
scopes = "<your-scopes>"
use_legacy_install_flow = true
and it should go to your App URL on first install as well.
1 Like
Its not work for me 
Im trying on both custom app (custom distribute) and develope app. It always direct me to admin page 1st.
I found out my solution. im using nextjs and at 1st layout direct from app folder (same url with app url). im locate app-bridge script tag so when im installing app, it directs me right into app bridge. So im moved this layout inside a group and it works normally.