Se connecter avec Nexus
28 routes. Chemins relatifs à https://api.nexus-engine.eu/api/v1.
GET
/.well-known/openid-configuration
sans authentification
Découverte OpenID Connect du fournisseur « Se connecter avec Nexus » : points d’entrée, portées, algorithmes (RS256), PKCE S256.
NoteCORS ouvert, sans cookie. Les mêmes données sous /connexion/openid-configuration.
OPTIONS
/.well-known/openid-configuration
sans authentification
Pré-vol CORS de la découverte OpenID Connect.
GET
/connexion/openid-configuration
sans authentification
La découverte OpenID Connect, joignable depuis l’apex du site.
OPTIONS
/connexion/openid-configuration
sans authentification
Pré-vol CORS de la découverte (apex).
GET
/connexion/jwks
sans authentification
Les clés publiques (JWKS) qui vérifient les jetons d’identité signés RS256.
OPTIONS
/connexion/jwks
sans authentification
Pré-vol CORS du JWKS.
GET
/connexion/application
sans authentification
Ce que la page de connexion montre avant toute session : nom, logo et site de l’application, si sa demande est recevable.
Requêteclient_id, redirect_uri, response_type=code, scope, code_challenge, code_challenge_method=S256
RéponseConnexionApplicationPubliqueDto
POST
/connexion/token
sans authentification
Échange un code d’autorisation (avec code_verifier, PKCE obligatoire) ou un refresh_token (à rotation) contre access_token (1 h), refresh_token (30 j) et id_token signé.
Corpsgrant_type (authorization_code, refresh_token), code, code_verifier, redirect_uri, refresh_token, client_id, client_secret (client_secret_basic ou _post ; rien pour une application publique) — formulaire ou JSON
Réponse{ access_token, token_type, expires_in, refresh_token, id_token, scope }
NoteUn code ou un rafraîchissement rejoué révoque tous les jetons de la connexion. Inclus dans la formule Pro de l’espace du développeur, sans crédits (plafond technique : 100 000 personnes par mois et par application ; `inclus` dans ConnexionAppDto). Autres formules : 100 personnes distinctes connectées par mois et par application gratuites, puis 1 crédit Nexus par tranche entamée de 100 (débité à la volée). Crédits épuisés : 7 jours de grâce, alertes ; ensuite seules les nouvelles personnes payantes attendent la recharge.
OPTIONS
/connexion/token
sans authentification
Pré-vol CORS du point de jeton (pages seules, applications publiques).
GET
/connexion/userinfo
sans authentification
L’identité de la personne connectée, selon les portées consenties : sub (propre à ce site), name, picture, email, email_verified.
NoteAuthorization: Bearer <access_token>.
POST
/connexion/userinfo
sans authentification
La même identité, en POST (OIDC Core § 5.3.1).
OPTIONS
/connexion/userinfo
sans authentification
Pré-vol CORS de userinfo.
POST
/connexion/revoke
sans authentification
Révocation d’un jeton par le site (RFC 7009). Répond 200 même pour un jeton inconnu.
Corpstoken, client_id, client_secret
OPTIONS
/connexion/revoke
sans authentification
Pré-vol CORS de la révocation.
GET
/connexion/photo/:sujet
sans authentification
La photo de la personne, l’adresse que porte la revendication picture (portée profile consentie).
GET
/connexion/autoriser
session de l’application seulement
Décrit une demande de connexion à la page de consentement de Nexus : le site, ce qu’il recevra, la personne, et si elle l’a déjà accordé.
Requêteclient_id, redirect_uri, response_type=code, scope, code_challenge, code_challenge_method=S256, state, nonce, prompt
RéponseConnexionDemandeDto
Note409 quand le site est en pause faute de crédits et que cette personne coûterait un crédit impayé ; 403 si l’adresse du compte n’est pas confirmée.
POST
/connexion/consentement
session de l’application seulement
La décision de la personne : accorder (code d’autorisation de 5 min) ou refuser. Même origine exigée.
Corpsles paramètres de la demande, decision (allow, deny)
RéponseConnexionDecisionDto { redirectTo }
Note403 tant que la double authentification attendue n’est pas passée (POST /connexion/second-facteur), ou quand le site l’exige d’un compte qui ne l’a pas.
POST
/connexion/second-facteur
session de l’application seulement
Redemande le second facteur sur la page de consentement quand la session ne l’a pas passé (code de l’application d’authentification ou code de secours, consommé). Même origine, cinq essais par cinq minutes.
GET
/connexion/apps
Les applications clientes « Se connecter avec Nexus » de l’espace, avec les utilisateurs actifs du mois, les crédits dus et débités, l’état (A_JOUR, GRACE, SUSPENDUE).
RéponseConnexionAppDto[]
NoteInclus dans la formule Pro de l’espace du développeur, sans crédits (plafond technique : 100 000 personnes par mois et par application ; `inclus` dans ConnexionAppDto). Autres formules : 100 personnes distinctes connectées par mois et par application gratuites, puis 1 crédit Nexus par tranche entamée de 100 (débité à la volée). Crédits épuisés : 7 jours de grâce, alertes ; ensuite seules les nouvelles personnes payantes attendent la recharge.
POST
/connexion/apps
Enregistre une application cliente (site, application native) : client_id, secret haché, adresses de retour EXACTES. Avec projectId, NEXUS_CLIENT_ID, NEXUS_ISSUER et NEXUS_CLIENT_SECRET vont au coffre du projet (ENV_VAR), prêts pour le .env.
Corpsnom, redirectUris (https, http://localhost, ou schéma privé d’une application native ; 10 au plus), public (vrai : sans secret, PKCE seul), logoUrl, siteUrl (https), projectId, exigerDeuxFacteurs, porteesAutorisees (openid toujours, profile, email), couleurAccent (#rrggbb), cguUrl, confidentialiteUrl (https), apparence { variante sombre|clair|contour, taille petit|moyen|grand, rayon 0–28, pleineLargeur, texte se-connecter|se-connecter-avec|continuer-avec|libre, texteLibre, langue fr|en, iconeSeule }
RéponseConnexionAppCreeeDto (clientSecret en clair UNE fois, seulement hors coffre)
NoteUn agent doit nommer le projet d’une application à secret : il ne voit jamais le secret. 50 applications par espace, 30 créations par heure.
GET
/connexion/apps/:id
Une application cliente de l’espace et son compte du mois.
PATCH
/connexion/apps/:id
Modifie le nom, le logo, le site ou les adresses de retour (son auteur ou un administrateur).
Corpsnom, redirectUris, logoUrl, siteUrl, exigerDeuxFacteurs, porteesAutorisees (openid toujours, profile, email), couleurAccent (#rrggbb), cguUrl, confidentialiteUrl (https), apparence { variante sombre|clair|contour, taille petit|moyen|grand, rayon 0–28, pleineLargeur, texte se-connecter|se-connecter-avec|continuer-avec|libre, texteLibre, langue fr|en, iconeSeule }
RéponseConnexionAppDto
DELETE
/connexion/apps/:id
Retire l’application : plus aucune connexion, tous les jetons tombent (son auteur ou un administrateur). Journalisé.
POST
/connexion/apps/:id/revoquer
Révoque TOUS les accès en cours de l’application (incident, fuite) : chaque personne se reconnecte. Les accords restent.
POST
/connexion/apps/:id/secret
Régénère le secret ; l’ancien cesse à l’instant. Rangé au coffre du projet quand l’application en a un.
RéponseConnexionAppCreeeDto
GET
/connexion/apps/:id/kit
Le kit à coller, client_id posé, aucun secret : bouton et script sans dépendance (html), Node/Express, ou PHP.
Requêtepile (html, express, php), redirectUri (une des adresses enregistrées)
RéponseConnexionKitDto { fichiers, consignes }
GET
/me/connexions-nexus
session de l’application seulement
Les sites et applications auxquels j’ai relié mon compte Nexus, avec ce qu’ils reçoivent.
RéponseConnexionRelieeDto[]
DELETE
/me/connexions-nexus/:appId
session de l’application seulement
Retire l’accès d’un site : ses jetons tombent, il ne lit plus mon identité.