Installa l'SDK
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.
npm install @vimine/sdkpnpm add @vimine/sdkyarn add @vimine/sdkI punti d’ingresso
Sezione intitolata “I punti d’ingresso”| 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 |
import { Vimine, publicApi, VimineError } from '@vimine/sdk';import { VimineServer } from '@vimine/sdk/server';import { VimineProvider, useVimine, SignInButton } from '@vimine/sdk/react';Requisiti
Sezione intitolata “Requisiti”- Browser:
fetch,crypto.subtle(WebCrypto) esessionStorage/localStorage— tutti i browser moderni. Le pagine devono essere servite suhttps(ohttp://localhostin sviluppo): WebCrypto non è disponibile su origini non sicure. - Node: 18 o successivo (
fetcheglobalThis.cryptonativi). - 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.
Il primo accesso
Sezione intitolata “Il primo accesso”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());const result = await vimine.handleRedirect(); // scambia il codice, salva la sessioneif (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.