Ir al contenido

Instalar el SDK

Ver como Markdown

El SDK oficial es @vimine/sdk: TypeScript, ESM, sin dependencias (usa fetch y WebCrypto). El punto de entrada del navegador pesa unos 7 kB comprimido.

Ventana de terminal
npm install @vimine/sdk
Import Qué contiene Dónde
@vimine/sdk Vimine (Iniciar sesión con Vimine + API de socios), publicApi, VimineError, los tipos navegador; también Node, con un almacenamiento propio
@vimine/sdk/react VimineProvider, useVimine, SignInButton React ≥ 18 (dependencia peer opcional)
@vimine/sdk/server VimineServer (clientes confidenciales, client_credentials, sandbox) Node ≥ 18 — nunca en un navegador
navegador
import { Vimine, publicApi, VimineError } from '@vimine/sdk';
servidor
import { VimineServer } from '@vimine/sdk/server';
React
import { VimineProvider, useVimine, SignInButton } from '@vimine/sdk/react';
  • Navegador: fetch, crypto.subtle (WebCrypto) y sessionStorage/localStorage — cualquier navegador moderno. Las páginas deben servirse por https (o http://localhost en desarrollo): WebCrypto no está disponible en orígenes no seguros.
  • Node: 18 o posterior (fetch y globalThis.crypto nativos).
  • Bundler: cualquiera (Vite, webpack, esbuild, …) o <script type="module"> con un bundle propio. El paquete es solo ESM.
  • TypeScript: los tipos están incluidos; no hay que añadir ningún @types/*.
app.js
import { Vimine } from '@vimine/sdk';
const vimine = new Vimine({
clientId: 'vmc_…', // de la consola Desarrolladores
redirectUri: 'https://www.example.org/vimine/callback', // registrado para el cliente
scopes: ['profile:read', 'membership:read']
});
document.querySelector('#sign-in').addEventListener('click', () => vimine.signIn());
callback.js
const result = await vimine.handleRedirect(); // intercambia el código, guarda la sesión
if (result) {
const me = await vimine.me.get();
console.log(`Hola, ${me.first_name}`);
}

Sigue con Iniciar sesión con Vimine para el flujo completo, la sesión y el cierre de sesión.