Instalar o SDK
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.
npm install @vimine/sdkpnpm add @vimine/sdkyarn add @vimine/sdkPontos de entrada
Seção intitulada “Pontos de entrada”| 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 |
import { Vimine, publicApi, VimineError } from '@vimine/sdk';import { VimineServer } from '@vimine/sdk/server';import { VimineProvider, useVimine, SignInButton } from '@vimine/sdk/react';Requisitos
Seção intitulada “Requisitos”- Navegador:
fetch,crypto.subtle(WebCrypto) esessionStorage/localStorage— todos os navegadores modernos. As páginas precisam ser servidas porhttps(ouhttp://localhostem desenvolvimento): o WebCrypto não está disponível em origens não seguras. - Node: 18 ou posterior (
fetchnativo eglobalThis.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.
O primeiro login
Seção intitulada “O primeiro login”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());const result = await vimine.handleRedirect(); // troca o código, guarda a sessãoif (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.