SDKs & Bibliotheken
Auris stellt offizielle Client-Bibliotheken für alle wichtigen Plattformen und Frameworks bereit. Jedes SDK umhüllt denselben zugrunde liegenden OAuth2-PKCE-Flow und die REST-API mit plattformspezifischen Komfortfunktionen.
SDK-Vergleich
Die folgende Tabelle zeigt, welche Funktionen in jedem Paket verfügbar sind.
| Funktion | @auris/js | @auris/react | @auris/nextjs | auris/sdk (PHP) | auris-sso (WP) | @auris/cli |
|---|---|---|---|---|---|---|
| Authentifizierung | Ja | Ja | Ja | Ja | Ja | N/A |
| OAuth2 PKCE | Ja | Ja | Ja | Ja | Ja | N/A |
| Social Login | Ja | Ja | Ja | Nein | Nein | N/A |
| Magic Links | Ja | Ja | Ja | Nein | Nein | N/A |
| SMS OTP | Ja | Ja | Ja | Nein | Nein | N/A |
| Berechtigungs-Check | Ja | Ja (Hooks) | Ja (Server) | Nein | Nein | Nein |
| Fine-Grained Authorization | Ja | Ja (Hooks) | Ja (Server) | Nein | Nein | Nein |
| Management API | Ja | Nein | Ja (Server) | Nein | Nein | Ja |
| Webhook-Verifizierung | Ja | Nein | Nein | Nein | Nein | Nein |
| JWT-Verifizierung | Ja | Nein | Ja (Server) | Nein | Nein | Nein |
| SSR-Unterstützung | Ja | Nein | Ja | Ja | N/A | N/A |
| Edge Runtime | Ja | Nein | Ja (Middleware) | Nein | N/A | N/A |
| Keine Abhängigkeiten | Ja | Nein | Nein | Ja | Nein | Nein |
Welches SDK wählen?
Diesen Entscheidungsbaum verwenden, um das passende Paket für dein Projekt auszuwählen.
Entwickelst du eine Browser-SPA (React, Vue, reines JS)?
@auris/js für framework-unabhängigen Code verwenden, oder @auris/react für React-spezifische Hooks und Komponenten.
Entwickelst du eine Next.js-Anwendung?
@auris/nextjs verwenden. Es re-exportiert @auris/react für Client Components und fügt serverseitige Helfer für Server Components, Route Handlers und Edge Middleware hinzu.
Entwickelst du eine PHP- oder Laravel-Anwendung?
Das Composer-Paket auris/sdk verwenden. Es ist reines PHP ohne externe Abhängigkeiten und unterstützt PHP 7.4 und höher.
Betreibst du eine WordPress-Website?
Das WordPress-Plugin auris-sso verwenden. Es ermöglicht SSO-Login, JIT-Benutzerbereitstellung und Rollenzuordnung über die WordPress-Admin-Oberfläche.
Schreibst du Skripte, CI/CD-Pipelines oder automatisierst du die Tenant-Verwaltung?
@auris/cli verwenden. Global installieren und einmal authentifizieren — dann auris users list, auris logs und andere Befehle in Skripten nutzen.
Server-zu-Server-API-Aufrufe (kein Benutzer beteiligt)?
@auris/js mit der Methode getM2MToken() verwenden, oder createManagementClient() in @auris/nextjs/server. Beide verwenden den OAuth2-Grant client_credentials.
Installation
# JavaScript (Browser, Node.js, Edge Runtimes)
npm install @auris/js
# React
npm install @auris/react @auris/js
# Next.js (enthält React- und JS-Pakete)
npm install @auris/nextjs @auris/react @auris/js
# PHP
composer require auris/sdk
# CLI (globale Installation)
npm install -g @auris/cliDas WordPress-Plugin wird als .zip-Datei bereitgestellt. Installation über Plugins → Hinzufügen → Plugin hochladen im WordPress-Admin.
Schnellstart-Beispiele
JavaScript
import { AurisClient } from '@auris/js'
const auris = new AurisClient({
domain: 'auth.yourdomain.com',
clientId: 'app_xxxxx',
redirectUri: 'http://localhost:3000/callback',
})
// Benutzer zur gehosteten Login-Seite weiterleiten
await auris.loginWithRedirect()
// Auf der Callback-Seite den Flow abschließen
const result = await auris.handleRedirectCallback()
console.log(result.user)React
import { AurisProvider, useAuris } from '@auris/react'
function App() {
return (
<AurisProvider domain="auth.yourdomain.com" clientId="app_xxxxx">
<LoginButton />
</AurisProvider>
)
}
function LoginButton() {
const { loginWithRedirect, logout, isAuthenticated, user } = useAuris()
if (isAuthenticated) {
return <button onClick={() => logout()}>Abmelden ({user.email})</button>
}
return <button onClick={loginWithRedirect}>Anmelden</button>
}Next.js
// middleware.ts
import { aurisMiddleware } from '@auris/nextjs/middleware'
export default aurisMiddleware({
protectedPaths: ['/dashboard(.*)'],
loginUrl: '/auth/login',
})
// app/dashboard/page.tsx (Server Component)
import { getSession } from '@auris/nextjs/server'
import { redirect } from 'next/navigation'
export default async function DashboardPage() {
const session = await getSession()
if (!session) redirect('/auth/login')
return <h1>Willkommen, {session.user.name}</h1>
}PHP
<?php
require 'vendor/autoload.php';
use Auris\AurisClient;
use Auris\AurisConfig;
$config = new AurisConfig(
domain: 'auth.yourdomain.com',
clientId: 'your-client-id',
redirectUri: 'https://yourapp.com/callback.php'
);
$auris = new AurisClient($config);
// login.php
session_start();
header('Location: ' . $auris->getLoginUrl());
exit;
// callback.php
session_start();
$result = $auris->handleCallback($_GET['code'], $_GET['state']);
$_SESSION['user'] = $result->getUser();Versionskompatibilität
| Paket | Min. Node.js | Min. PHP | Min. WordPress |
|---|---|---|---|
@auris/js | 18.0 | N/A | N/A |
@auris/react | 18.0 | N/A | N/A |
@auris/nextjs | 18.0 | N/A | N/A |
auris/sdk | N/A | 7.4 | N/A |
auris-sso | N/A | 7.4 | 5.0 |
@auris/cli | 18.0 | N/A | N/A |
Alle JavaScript-SDKs enthalten sowohl ESM- (import) als auch CJS- (require) Builds sowie TypeScript-Deklarationsdateien. Du benötigst keinen Bundler — sie können direkt in Node.js oder modernen Browsern mit ES-Modul-Unterstützung verwendet werden.
Alle Pakete folgen Semantic Versioning. Inkompatible API-Änderungen werden nur in Major-Version-Sprüngen eingeführt und sind im Changelog jedes Pakets dokumentiert.
SDK-Seiten
Abhängigkeitsfreies SDK für Browser, Node.js und Edge Runtimes. Vollständige API-Referenz einschließlich AurisClient, Berechtigungsmodul, FGA-Modul, Management Client, Webhook-Verifizierung und JWT-Verifizierung.
JavaScript SDKReact-Bindings auf Basis von @auris/js. AurisProvider-Kontext, Hooks (useAuris, useUser, usePermissions, useFga, useOrganization) und Komponenten (AuthGuard, PermissionGate, LoginButton).
React SDKVollständige Next.js-Integration mit drei Einstiegspunkten: Client-seitig (re-exportiert @auris/react), serverseitige Helfer (getSession, withAuth, requirePermission) und Edge Middleware (aurisMiddleware).
Next.js SDKReines PHP-OAuth2-PKCE für PHP 7.4+ ohne externe Abhängigkeiten. Enthält PHP-Beispiele und einen Laravel-Integrationsleitfaden.
PHP SDKSSO-Plugin für WordPress mit JIT-Benutzerbereitstellung, konfigurierbarer Rollenzuordnung und einem Login-Button-Shortcode. Erfordert das PHP SDK.
WordPress-PluginKommandozeilentool zur Verwaltung deines Auris-Tenants. Einmal authentifizieren, dann Benutzer, Rollen, Anwendungen und Audit-Logs vom Terminal oder in CI/CD-Pipelines verwalten.
CLI-Tool