Pular para o conteúdo

Instalar o SDK

Ver como Markdown

O SDK oficial é o @vimine/sdk: TypeScript, ESM, zero dependências (usa fetch e WebCrypto). O ponto de entrada para o navegador pesa cerca de 7 kB comprimido.

Janela do terminal
npm install @vimine/sdk
Import O que contém Onde
@vimine/sdk Vimine (Entrar com Vimine + API do associado), publicApi, VimineError, os tipos navegador; também Node, com um storage seu
@vimine/sdk/react VimineProvider, useVimine, SignInButton React ≥ 18 (peer dependency opcional)
@vimine/sdk/server VimineServer (clientes confidenciais, client_credentials, sandbox) Node ≥ 18 — nunca num 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) e sessionStorage/localStorage — todos os navegadores modernos. As páginas precisam ser servidas por https (ou http://localhost em desenvolvimento): o WebCrypto não está disponível em origens não seguras.
  • Node: 18 ou posterior (fetch nativo e globalThis.crypto).
  • Bundler: qualquer um (Vite, webpack, esbuild, …) ou <script type="module"> com um bundle seu. O pacote é somente ESM.
  • TypeScript: os tipos estão incluídos; não há @types/* para adicionar.
app.js
import { Vimine } from '@vimine/sdk';
const vimine = new Vimine({
clientId: 'vmc_…', // do console Desenvolvedores
redirectUri: 'https://www.example.org/vimine/callback', // registrada para o cliente
scopes: ['profile:read', 'membership:read']
});
document.querySelector('#sign-in').addEventListener('click', () => vimine.signIn());
callback.js
const result = await vimine.handleRedirect(); // troca o código, guarda a sessão
if (result) {
const me = await vimine.me.get();
console.log(`Olá ${me.first_name}`);
}

Continue com Entrar com Vimine para o fluxo completo, a sessão e o logout.