Mini apps
Ver como MarkdownPlayground 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
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/.envEl .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.
Agregar tu Miniapp al catálogo
El catálogo confiable vive en apps/example-oauth-tauri/src/config.ts. Agrega el origen de tu Miniapp y súmalo a seedMiniappManifestUrls:
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:
pnpm --filter @andco/example-oauth-tauri devEsto 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_urlyauth_urlsean del mismo origen que tu manifest. - Que tu
client_idcorresponda a un cliente OAuth registrado, con losredirect_urisyallowed_originscorrectos. - 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.
