/** * @fanfare-io/fanfare-sdk-shopify/auth — Shopify Customer Account id_token → Fanfare identity. * * SERVER-ONLY: this module handles the Fanfare secret key (`sk_...`). Never * import it from client-side code. React-free, Node 20+. * * Two integration modes: * - Turnkey: `verifyAndAuthorizeShopifySession` verifies a Shopify id_token * via OIDC discovery + JWKS, then forwards the resulting identity to * Fanfare's external authorize endpoint in one call. * - Bring-your-own verification: verify the id_token by your own means, then * call `authorizeShopifyIdentity` directly with the resulting identity. * * Both calls take the shopper's device key thumbprint as `jkt`. The browser * reads it with `getDeviceKeyThumbprint()` from * `@fanfare-io/fanfare-sdk-core/admission-proof` before sign-in starts and * relays it to your server; the exchange code is then * redeemable only by that browser, on the origin that read the thumbprint, * through `sdk.auth.exchangeExternal` from * `fanfare-sdk-react`'s `useFanfare()`. No client-side work lives in this * package. */ export { authorizeShopifyIdentity, verifyAndAuthorizeShopifySession } from './authorize'; export type { AuthorizeShopifyIdentityOptions, VerifyAndAuthorizeOptions } from './authorize'; export { FanfareExternalAuthorizeError, ShopifyAuthConfigurationError, ShopifyIdTokenVerificationError, } from './errors'; export type { ExternalAuthorizeResult, ShopifyOidcConfiguration, VerifiedShopifyIdentity } from './types'; export { verifyShopifyIdToken } from './verify'; export type { VerifyShopifyIdTokenOptions } from './verify';