ワンクリックで
shopify-app-offline-access-tokens
// Expiring offline access tokens, migrations, and refresh behavior for kyon147/laravel-shopify in a host Laravel app.
// Expiring offline access tokens, migrations, and refresh behavior for kyon147/laravel-shopify in a host Laravel app.
OAuth, session tokens, and route protection for a Laravel Shopify app using kyon147/laravel-shopify.
Subscriptions, charges, and billable routes for a Laravel Shopify app using kyon147/laravel-shopify.
Writing application-level tests for a Laravel Shopify app that uses kyon147/laravel-shopify.
Registering and handling Shopify webhooks in a Laravel app using kyon147/laravel-shopify.
| name | shopify-app-offline-access-tokens |
| description | Expiring offline access tokens, migrations, and refresh behavior for kyon147/laravel-shopify in a host Laravel app. |
You are enabling or operating Shopify expiring offline access tokens in your Laravel app: env toggles, database columns, model casts, production refresh failures, or API calls that should trigger transparent refresh.
shopify-app.php)SHOPIFY_EXPIRING_OFFLINE_TOKENS → expiring_offline_tokens — when true, new offline exchanges use refresh-token rotation per Shopify’s model.SHOPIFY_OFFLINE_ACCESS_TOKEN_REFRESH_SKEW → offline_access_token_refresh_skew_seconds — refresh this many seconds before access token expiry.Read the package README for policy notes (e.g. public apps after Shopify’s cutoff dates).
Run package migrations so the shop table (from Osiset\ShopifyApp\Util::getShopsTable(), often users) includes:
shopify_offline_refresh_tokenshopify_offline_access_token_expires_atshopify_offline_refresh_token_expires_atIf you override $casts on your shop model, merge with the package trait’s casts rather than dropping encrypted/datetime casts the package expects.
ApiHelper and OfflineAccessTokenRefresher in the package — you normally do not call these directly from app code; ensure shops use apiHelper() (or equivalent documented entry points) so refresh runs when needed.Osiset\ShopifyApp\Exceptions\OAuthTokenRefreshException — handle or log in your exception reporting so ops can re-authenticate affected shops.APP_KEY stable in each environment; encrypted column values depend on it.expiring_offline_tokens and run migrations before assuming refresh metadata exists for legacy rows.