Skip to Content

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/nextjsauris/sdk (PHP)auris-sso (WP)@auris/cli
AuthentifizierungJaJaJaJaJaN/A
OAuth2 PKCEJaJaJaJaJaN/A
Social LoginJaJaJaNeinNeinN/A
Magic LinksJaJaJaNeinNeinN/A
SMS OTPJaJaJaNeinNeinN/A
Berechtigungs-CheckJaJa (Hooks)Ja (Server)NeinNeinNein
Fine-Grained AuthorizationJaJa (Hooks)Ja (Server)NeinNeinNein
Management APIJaNeinJa (Server)NeinNeinJa
Webhook-VerifizierungJaNeinNeinNeinNeinNein
JWT-VerifizierungJaNeinJa (Server)NeinNeinNein
SSR-UnterstützungJaNeinJaJaN/AN/A
Edge RuntimeJaNeinJa (Middleware)NeinN/AN/A
Keine AbhängigkeitenJaNeinNeinJaNeinNein

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/cli

Das 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

PaketMin. Node.jsMin. PHPMin. WordPress
@auris/js18.0N/AN/A
@auris/react18.0N/AN/A
@auris/nextjs18.0N/AN/A
auris/sdkN/A7.4N/A
auris-ssoN/A7.45.0
@auris/cli18.0N/AN/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