Das SDK installieren
Das offizielle SDK ist @vimine/sdk: TypeScript, ESM, ohne Abhängigkeiten (es nutzt fetch und
WebCrypto). Der Einstiegspunkt für den Browser wiegt komprimiert etwa 7 kB.
npm install @vimine/sdkpnpm add @vimine/sdkyarn add @vimine/sdkEinstiegspunkte
Abschnitt betitelt „Einstiegspunkte“| Import | Was er enthält | Wo |
|---|---|---|
@vimine/sdk |
Vimine („Mit Vimine anmelden“ + Mitglieder-API), publicApi, VimineError, die Typen |
Browser; auch Node, mit einem eigenen Speicher |
@vimine/sdk/react |
VimineProvider, useVimine, SignInButton |
React ≥ 18 (optionale Peer-Abhängigkeit) |
@vimine/sdk/server |
VimineServer (vertrauliche Clients, client_credentials, Sandbox) |
Node ≥ 18 — nie im Browser |
import { Vimine, publicApi, VimineError } from '@vimine/sdk';import { VimineServer } from '@vimine/sdk/server';import { VimineProvider, useVimine, SignInButton } from '@vimine/sdk/react';Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Browser:
fetch,crypto.subtle(WebCrypto) undsessionStorage/localStorage— jeder moderne Browser. Die Seiten müssen überhttpsausgeliefert werden (oder überhttp://localhostin der Entwicklung): WebCrypto ist auf unsicheren Origins nicht verfügbar. - Node: 18 oder neuer (natives
fetchundglobalThis.crypto). - Bundler: beliebig (Vite, webpack, esbuild, …) oder
<script type="module">mit einem eigenen Bundle. Das Paket ist reines ESM. - TypeScript: Die Typen sind enthalten; kein
@types/*nötig.
Die erste Anmeldung
Abschnitt betitelt „Die erste Anmeldung“import { Vimine } from '@vimine/sdk';
const vimine = new Vimine({ clientId: 'vmc_…', // aus der Konsole Entwickler redirectUri: 'https://www.example.org/vimine/callback', // für den Client registriert scopes: ['profile:read', 'membership:read']});
document.querySelector('#sign-in').addEventListener('click', () => vimine.signIn());const result = await vimine.handleRedirect(); // tauscht den Code ein, speichert die Sitzungif (result) { const me = await vimine.me.get(); console.log(`Hallo ${me.first_name}`);}Weiter mit Mit Vimine anmelden für den ganzen Ablauf, die Sitzung und die Abmeldung.