Skip to Content

SDK et Bibliothèques

Auris fournit des bibliothèques client officielles pour toutes les principales plateformes et frameworks. Chaque SDK encapsule le même flux OAuth2 PKCE sous-jacent et les REST API, avec des commodités spécifiques à chaque framework.


Comparaison des SDK

Le tableau suivant résume les fonctionnalités disponibles dans chaque package.

Fonctionnalité@auris/js@auris/react@auris/nextjsauris/sdk (PHP)auris-sso (WP)@auris/cli
AuthentificationOuiOuiOuiOuiOuiN/A
OAuth2 PKCEOuiOuiOuiOuiOuiN/A
Social LoginOuiOuiOuiNonNonN/A
Magic LinkOuiOuiOuiNonNonN/A
SMS OTPOuiOuiOuiNonNonN/A
Vérification des permissionsOuiOui (hook)Oui (serveur)NonNonNon
Autorisation fine-grainedOuiOui (hook)Oui (serveur)NonNonNon
Management APIOuiNonOui (serveur)NonNonOui
Vérification webhookOuiNonNonNonNonNon
Vérification JWTOuiNonOui (serveur)NonNonNon
Support SSROuiNonOuiOuiN/AN/A
Edge runtimeOuiNonOui (middleware)NonN/AN/A
Zéro dépendancesOuiNonNonOuiNonNon

Quel SDK Choisir

Utilise ce schéma décisionnel pour sélectionner le bon package pour ton projet.

Tu construis une Single Page Application navigateur (React, Vue, JS pur) ? Utilise @auris/js pour du code agnostique au framework, ou @auris/react pour des hooks et composants spécifiques à React.

Tu construis une application Next.js ? Utilise @auris/nextjs. Il ré-exporte @auris/react pour les Client Components et ajoute des helpers côté serveur pour les Server Components, Route Handlers et Edge Middleware.

Tu construis une application PHP ou Laravel ? Utilise le package Composer auris/sdk. C’est du PHP pur sans dépendances externes et supporte PHP 7.4 et versions ultérieures.

Tu gères un site WordPress ? Utilise le plugin WordPress auris-sso. Il gère la connexion SSO, le provisionnement des utilisateurs just-in-time et le mapping des rôles via l’interface d’administration WordPress.

Tu écris des scripts, des pipelines CI/CD, ou automatises la gestion du tenant ? Utilise @auris/cli. Installe-le globalement et authentifie-toi une fois — puis utilise auris users list, auris logs et d’autres commandes dans tes scripts.

Appels API serveur-à-serveur (sans utilisateur impliqué) ? Utilise @auris/js avec la méthode getM2MToken(), ou createManagementClient() dans @auris/nextjs/server. Les deux utilisent le grant OAuth2 client_credentials.


Installation

# JavaScript (navigateur, Node.js, edge runtime) npm install @auris/js # React npm install @auris/react @auris/js # Next.js (inclut les packages React et JS) npm install @auris/nextjs @auris/react @auris/js # PHP composer require auris/sdk # CLI (installation globale) npm install -g @auris/cli

Le plugin WordPress est distribué sous forme de fichier .zip. Installe-le via Extensions → Ajouter une extension → Téléverser une extension dans l’administration WordPress.


Exemples de Démarrage Rapide

JavaScript

import { AurisClient } from '@auris/js' const auris = new AurisClient({ domain: 'auth.votredomaine.com', clientId: 'app_xxxxx', redirectUri: 'http://localhost:3000/callback', }) // Redirige l'utilisateur vers la page de connexion hébergée await auris.loginWithRedirect() // Sur la page de callback, complète le flux const result = await auris.handleRedirectCallback() console.log(result.user)

React

import { AurisProvider, useAuris } from '@auris/react' function App() { return ( <AurisProvider domain="auth.votredomaine.com" clientId="app_xxxxx"> <LoginButton /> </AurisProvider> ) } function LoginButton() { const { loginWithRedirect, logout, isAuthenticated, user } = useAuris() if (isAuthenticated) { return <button onClick={() => logout()}>Déconnexion ({user.email})</button> } return <button onClick={loginWithRedirect}>Connexion</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>Bienvenue, {session.user.name}</h1> }

PHP

<?php require 'vendor/autoload.php'; use Auris\AurisClient; use Auris\AurisConfig; $config = new AurisConfig( domain: 'auth.votredomaine.com', clientId: 'your-client-id', redirectUri: 'https://votre-app.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();

Compatibilité des Versions

PackageNode.js min.PHP min.WordPress min.
@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

Tous les SDK JavaScript incluent à la fois des builds ESM (import) et CJS (require), ainsi que des fichiers de déclaration TypeScript. Ils ne nécessitent pas de bundler — tu peux les utiliser directement dans Node.js ou dans les navigateurs modernes qui supportent les modules ES.

Tous les packages suivent le versionnement sémantique. Les modifications qui cassent la compatibilité API ne sont introduites que lors des bumps de version majeure et sont documentées dans le changelog de chaque package.


Pages SDK