Skip to content

@shopify/shopify-api@12.2.0

Latest

Choose a tag to compare

@shopify-github-actions-access shopify-github-actions-access released this 11 Dec 19:28
· 31 commits to main since this release
d67b5db

Minor Changes

  • f1af47e: This change introduces full support for OAuth refresh tokens in the @shopify/shopify-api package, enabling apps to use expiring access tokens and rotate them securely.

    • Session Model Updates: The Session class now includes properties to store refresh token information:
      • refreshToken: The refresh token string.
      • refreshTokenExpires: The date when the refresh token expires.
      • Serialization logic has been updated to persist these fields.
    • New Auth Methods:
      • shopify.auth.refreshToken: A new method to exchange a refresh token for a new access token.
      • shopify.auth.migrateToExpiringToken: A helper method to migrate existing non-expiring offline tokens to expiring tokens.
    • Token Exchange Updates:
      • The tokenExchange method now accepts an expiring parameter to request expiring access tokens.
    // Migrating a non-expiring token
    const {session} = await shopify.auth.migrateToExpiringToken({
      shop: 'my-shop.myshopify.com',
      nonExpiringOfflineAccessToken: 'shpo_...',
    });
    
    // Refreshing an expired token
    const {session: newSession} = await shopify.auth.refreshToken({
      shop: session.shop,
      refreshToken: session.refreshToken,
    });
    
    console.log(newSession.accessToken); // New access token
    console.log(newSession.refreshToken); // New refresh token

Patch Changes

  • a6a13bf: Updated lossless-json dependencies