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/nextjs | auris/sdk (PHP) | auris-sso (WP) | @auris/cli |
|---|---|---|---|---|---|---|
| Authentification | Oui | Oui | Oui | Oui | Oui | N/A |
| OAuth2 PKCE | Oui | Oui | Oui | Oui | Oui | N/A |
| Social Login | Oui | Oui | Oui | Non | Non | N/A |
| Magic Link | Oui | Oui | Oui | Non | Non | N/A |
| SMS OTP | Oui | Oui | Oui | Non | Non | N/A |
| Vérification des permissions | Oui | Oui (hook) | Oui (serveur) | Non | Non | Non |
| Autorisation fine-grained | Oui | Oui (hook) | Oui (serveur) | Non | Non | Non |
| Management API | Oui | Non | Oui (serveur) | Non | Non | Oui |
| Vérification webhook | Oui | Non | Non | Non | Non | Non |
| Vérification JWT | Oui | Non | Oui (serveur) | Non | Non | Non |
| Support SSR | Oui | Non | Oui | Oui | N/A | N/A |
| Edge runtime | Oui | Non | Oui (middleware) | Non | N/A | N/A |
| Zéro dépendances | Oui | Non | Non | Oui | Non | Non |
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/cliLe 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
| Package | Node.js min. | PHP min. | WordPress min. |
|---|---|---|---|
@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 |
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
SDK zéro-dépendance pour navigateur, Node.js et edge runtime. Référence API complète incluant AurisClient, module permissions, module FGA, client de gestion, vérification webhook et vérification JWT.
SDK JavaScriptBindings React construits sur @auris/js. Contexte AurisProvider, hooks (useAuris, useUser, usePermissions, useFga, useOrganization) et composants (AuthGuard, PermissionGate, LoginButton).
SDK ReactIntégration complète Next.js avec trois points d’entrée : côté client (ré-exporte @auris/react), helpers côté serveur (getSession, withAuth, requirePermission) et Edge Middleware (aurisMiddleware).
SDK Next.jsImplémentation PHP pure OAuth2 PKCE pour PHP 7.4+ sans dépendances externes. Inclut des exemples PHP vanilla et un guide d’intégration Laravel.
SDK PHPPlugin SSO pour WordPress avec provisionnement des utilisateurs just-in-time, mapping des rôles configurable et shortcode pour le bouton de connexion. Nécessite le PHP SDK.
Plugin WordPressOutil en ligne de commande pour gérer le tenant Auris. Authentifie-toi une fois, puis gère les utilisateurs, rôles, applications et journaux d’audit depuis le terminal ou dans les pipelines CI/CD.
Outil CLI