Bêta

DéveloppeursAjoutez Noir ID à un site.

Noir ID utilise le standard OpenID Connect. Votre site envoie les gens vers la connexion hébergée et reçoit un sujet en retour. Pendant la bêta, nous enregistrons nous-mêmes chaque client.

Le modèle
en six lignes

Norme
OpenID Connect
Flux
Code d’autorisation avec PKCE (S256)
Connexion
Hébergée par Noir ID, clé d’accès en priorité
Sujet
Par paire, un par client
URL de rappel
Exactes, sans caractère générique
Autorisations
Restent dans votre produit

Quel schéma
suit votre application

  • Application web avec serveur

    Votre serveur exécute le flux par code et conserve les jetons. Le navigateur ne détient qu’un cookie de session sécurisé, qui ne signifie rien à lui seul.

  • Application mobile ou de bureau

    Ouvrez la connexion dans le navigateur du système, jamais dans une web view intégrée, et recevez le résultat sur votre URL de rappel enregistrée.

  • De service à service

    Les clients machine utilisent le flux Client Credentials, avec leurs propres jetons de courte durée.

Quatre étapes,
une connexion qui marche

  1. Enregistrez votre client

    Envoyez-nous le nom de votre application et ses URL de rappel exactes. Vous recevez un identifiant client (client ID), et un secret si votre application a un serveur.

  2. Envoyez les gens se connecter

    Redirigez vers le point de terminaison d’autorisation avec votre identifiant client, l’URL de rappel, le scope, un state aléatoire et un challenge PKCE.

  3. Traitez le retour

    Vérifiez le state, échangez le code avec le verifier PKCE et validez le jeton d’identité (ID token) : signature, émetteur, audience et expiration.

  4. Conservez le sujet

    Indexez votre fiche utilisateur sur le sujet que renvoie Noir ID. Il reste le même pour votre client et ne signifie rien ailleurs.

À quoi ressemble la requête

Les valeurs entre chevrons sont les vôtres. L’émetteur est https://id.noir.bzh : lisez les points de terminaison dans son document de découverte (discovery) au lieu de les coder en dur.

GET <authorization_endpoint>
  ?response_type=code
  &client_id=<your client id>
  &redirect_uri=https://app.example/callback
  &scope=openid
  &state=<random value>
  &code_challenge=<base64url(sha256(verifier))>
  &code_challenge_method=S256

Ce que Noir ID ne fera pas

  • Les flux par mot de passe ou implicite
  • Les URL de rappel génériques ou à correspondance partielle
  • Une connexion intégrée à votre page ou dans une iframe
  • L’enregistrement libre de clients sans revue
  • Décider de ce qu’un utilisateur peut faire dans votre produit

Avant la mise en production

  • Chaque URL de rappel est enregistrée exactement telle qu’elle est utilisée
  • Le state et PKCE sont vérifiés à chaque connexion
  • Les jetons d’identité sont validés, pas seulement décodés
  • Une connexion échouée est traitée comme une connexion échouée, pas comme une panne
  • Vous savez comment migrer vos utilisateurs si vous partiez

Envie d’intégreren avance ?

Dites-nous ce que vous construisez et quel schéma il suit. Les premières intégrations aident à façonner la première version.