Playground con Tauri

Cómo abrir tu Miniapp dentro de un Host de escritorio para probarla, sin publicarla.

Antes de coordinar con Andco la publicación, puedes abrir tu Miniapp dentro de un Host real: apps/example-oauth-tauri en el repo de andco-sdk-js es un Host de escritorio hecho con Tauri, pensado exactamente para esto. Resuelve tu manifest, valida el origen igual que un Host de producción, y la abre en una WebView nativa aislada con su propia cookie jar.

Preparar el Host

sh
git clone https://github.com/haulmer/andco-sdk-js
cd andco-sdk-js
pnpm install
cp apps/example-oauth-tauri/.env.example apps/example-oauth-tauri/.env

El .env trae los orígenes locales por omisión (bank.localhost, auth.localhost, y un catálogo de Miniapps de ejemplo). No hace falta tocarlo para las variables de Andco — solo agregar la tuya.

El catálogo confiable vive en apps/example-oauth-tauri/src/config.ts. Agrega el origen de tu Miniapp y súmalo a seedMiniappManifestUrls:

apps/example-oauth-tauri/src/config.tsts
const carMarketOrigin = import.meta.env.VITE_CAR_MARKET_MINIAPP_ORIGIN ?? "https://carmarket.localhost";

export const seedMiniappManifestUrls = [
  // ...las que ya estaban
  manifestUrl(carMarketOrigin),
];

manifestUrl(origin) sin segundo argumento usa el path canónico, /miniapp.webmanifest.

Correr el playground

Con tu Miniapp corriendo en el origen que declaraste, y los servicios locales de Andco arriba:

sh
pnpm --filter @andco/example-oauth-tauri dev

Esto abre el shell de escritorio. Tu Miniapp aparece en el catálogo; al abrirla, el Host descarga tu manifest, valida el origen contra la configuración pública de tu cliente OAuth, y la monta en una pestaña con su propia WebView. Cada pestaña mantiene su propia identidad de Host y su propio cookie jar — cerrarla borra esa sesión, igual que un Host real.

Qué revisa por ti

  • Que start_url y auth_url sean del mismo origen que tu manifest.
  • Que tu client_id corresponda a un cliente OAuth registrado, con los redirect_uris y allowed_origins correctos.
  • El intercambio completo: autorización, consentimiento (aquí simulado por el shell local), y que tu callback reciba la sesión.
  • Los eventos que tu Miniapp dispara sobre el puente postMessage, en un log de la propia app.

No sustituye la revisión de Andco antes de publicar, pero te deja encontrar un manifest mal formado o un origen mal declarado sin esperar esa revisión.