Skip to content

Add ShopifyOauthUtility.CycleOfflineAccessTokenAsync for offline token cycling - #1267

Merged
nozzlegear merged 1 commit into
masterfrom
cycle-offline-tokens
Sep 1, 2026
Merged

Add ShopifyOauthUtility.CycleOfflineAccessTokenAsync for offline token cycling#1267
nozzlegear merged 1 commit into
masterfrom
cycle-offline-tokens

Conversation

@nozzlegear

Copy link
Copy Markdown
Owner

Added a new CycleOfflineAccessTokenAsync method to the to IShopifyOauthUtility and ShopifyOauthUtility, along with a new CycleOfflineAccessTokenOptions record. The method uses Shopify's token exchange process (RFC 8693) to convert a legacy permanent offline access token into the new expiring offline access token. Devs can use this new method to migrate their existing legacy permanent tokens before Shopify's January 1, 2027 migration deadline without requiring an active user session to complete oauth reauthorization.

The response here includes a refresh token, and is identical to the response for creating an expiring offline access token, so no changes to the AuthorizationResult were necessary.

Reference: https://shopify.dev/docs/apps/build/authentication-authorization/migrate-to-expiring-offline-access-tokens#cycle-existing-tokens-without-waiting-for-a-merchant

…n cycling

Added a new `CycleOfflineAccessTokenAsync` method to the to
`IShopifyOauthUtility` and `ShopifyOauthUtility`, along with a new
`CycleOfflineAccessTokenOptions` record. The method uses Shopify's
token exchange process (RFC 8693) to convert a legacy permanent offline
access token into the new *expiring* offline access token. Devs can use
this new method to migrate their existing legacy permanent tokens
before Shopify's January 1, 2027 migration deadline without requiring
an active user session to complete oauth reauthorization.

The response here includes a refresh token, and is identical to the
response for creating an expiring offline access token, so no changes to
the `AuthorizationResult` were necessary.

Reference:
https://shopify.dev/docs/apps/build/authentication-authorization/migrate-to-expiring-offline-access-tokens#cycle-existing-tokens-without-waiting-for-a-merchant

type: feature
scope: oauth, utilities
@nozzlegear nozzlegear self-assigned this Sep 1, 2026
@nozzlegear
nozzlegear merged commit 2632c8b into master Sep 1, 2026
2 checks passed
@nozzlegear
nozzlegear deleted the cycle-offline-tokens branch September 1, 2026 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant