Salta ai contenuti

Installa l'SDK

Apri come Markdown

L’SDK ufficiale è @vimine/sdk: TypeScript, ESM, zero dipendenze (usa fetch e WebCrypto). Il punto d’ingresso per il browser pesa circa 7 kB compressi.

Finestra del terminale
npm install @vimine/sdk
Import Cosa contiene Dove
@vimine/sdk Vimine (Accedi con Vimine + API del socio), publicApi, VimineError, i tipi browser; anche Node con uno storage tuo
@vimine/sdk/react VimineProvider, useVimine, SignInButton React ≥ 18 (peer dependency opzionale)
@vimine/sdk/server VimineServer (client riservati, client_credentials, sandbox) Node ≥ 18 — mai nel browser
browser
import { Vimine, publicApi, VimineError } from '@vimine/sdk';
server
import { VimineServer } from '@vimine/sdk/server';
React
import { VimineProvider, useVimine, SignInButton } from '@vimine/sdk/react';
  • Browser: fetch, crypto.subtle (WebCrypto) e sessionStorage/localStorage — tutti i browser moderni. Le pagine devono essere servite su https (o http://localhost in sviluppo): WebCrypto non è disponibile su origini non sicure.
  • Node: 18 o successivo (fetch e globalThis.crypto nativi).
  • Bundler: qualunque (Vite, webpack, esbuild, …) o <script type="module"> con un bundle tuo. Il pacchetto è solo ESM.
  • TypeScript: i tipi sono inclusi; nessun @types/* da aggiungere.
app.js
import { Vimine } from '@vimine/sdk';
const vimine = new Vimine({
clientId: 'vmc_…', // dalla console Sviluppatori
redirectUri: 'https://www.tuosito.it/vimine/callback', // registrato per il client
scopes: ['profile:read', 'membership:read']
});
document.querySelector('#accedi').addEventListener('click', () => vimine.signIn());
callback.js
const result = await vimine.handleRedirect(); // scambia il codice, salva la sessione
if (result) {
const me = await vimine.me.get();
console.log(`Ciao ${me.first_name}`);
}

Prosegui con Accedi con Vimine per il flusso completo, la sessione e l’uscita.