Zum Inhalt springen

Das SDK installieren

Als Markdown anzeigen

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.

Finestra del terminale
npm install @vimine/sdk
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
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) und sessionStorage/localStorage — jeder moderne Browser. Die Seiten müssen über https ausgeliefert werden (oder über http://localhost in der Entwicklung): WebCrypto ist auf unsicheren Origins nicht verfügbar.
  • Node: 18 oder neuer (natives fetch und globalThis.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.
app.js
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());
callback.js
const result = await vimine.handleRedirect(); // tauscht den Code ein, speichert die Sitzung
if (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.