diff --git a/src/Http/Middleware/VerifyShopify.php b/src/Http/Middleware/VerifyShopify.php index a4387f26..c312ffd5 100644 --- a/src/Http/Middleware/VerifyShopify.php +++ b/src/Http/Middleware/VerifyShopify.php @@ -101,7 +101,16 @@ public function handle(Request $request, Closure $next) return $next($request); } + if (!Util::useNativeAppBridge()) { + $storeResult = !$this->isApiRequest($request) && $this->checkPreviousInstallation($request); + + if ($storeResult) { + return $next($request); + } + } + $tokenSource = $this->getAccessTokenFromRequest($request); + if ($tokenSource === null) { //Check if there is a store record in the database return $this->checkPreviousInstallation($request) diff --git a/src/Objects/Enums/FrontendEngine.php b/src/Objects/Enums/FrontendEngine.php new file mode 100644 index 00000000..83eb9465 --- /dev/null +++ b/src/Objects/Enums/FrontendEngine.php @@ -0,0 +1,35 @@ +isSame($reactEngine); + } } diff --git a/src/resources/config/shopify-app.php b/src/resources/config/shopify-app.php index c4aaf7e1..d2dec331 100644 --- a/src/resources/config/shopify-app.php +++ b/src/resources/config/shopify-app.php @@ -478,4 +478,16 @@ ], 'session_token_refresh_interval' => env('SESSION_TOKEN_REFRESH_INTERVAL', 2000), + + /* + |-------------------------------------------------------------------------- + | Frontend engine used + |-------------------------------------------------------------------------- + | + | Available engines: "BLADE", "VUE", or "REACT". + | For example, if you use React, you do not need to be redirected to a separate page to get the JWT token. + | No changes are made for Vue.js and Blade. + | + */ + 'frontend_engine' => env('SHOPIFY_FRONTEND_ENGINE', 'BLADE'), ]; diff --git a/src/resources/views/layouts/default.blade.php b/src/resources/views/layouts/default.blade.php index 6c73a662..8ed7fb28 100644 --- a/src/resources/views/layouts/default.blade.php +++ b/src/resources/views/layouts/default.blade.php @@ -17,7 +17,7 @@ - @if(\Osiset\ShopifyApp\Util::getShopifyConfig('appbridge_enabled')) + @if(\Osiset\ShopifyApp\Util::getShopifyConfig('appbridge_enabled') && \Osiset\ShopifyApp\Util::useNativeAppBridge())