Français
Français
Appearance
Français
Français
Appearance
Le portail du destinataire est un espace en libre-service à badges.ninja/me où toute personne qui a reçu un badge peut se connecter (sans compte requis), parcourir toutes les certifications qu'elle a reçues via badges.ninja et composer un profil public pour les partager.
C'est une expérience distincte du tableau de bord de l'émetteur :
| Public | URL | Auth |
|---|---|---|
| Émetteur (celui qui attribue) | /dashboard | Vrai compte (e-mail + mot de passe / SSO) |
| Destinataire (celui qui obtient des badges) | /me | Magic link par e-mail — sans compte, sans mot de passe |
| Tout le monde (vérificateurs) | /awards/<guid>, /verify/<guid>, /u/<handle> | Aucun — entièrement public |
Pourquoi sans mot de passe ?
Les destinataires ne devraient pas avoir à mémoriser un autre identifiant juste pour regarder les badges qu'on leur a donnés. On leur envoie plutôt un lien à usage unique par e-mail.
Rendez-vous sur badges.ninja/me. La page n'affiche qu'un champ e-mail :

Saisissez l'e-mail qui a reçu les badges et cliquez sur Envoyez-moi un lien de connexion.
Nous répondons par un message « vérifiez votre boîte » que des attributions existent pour cette adresse ou non. Cela évite de divulguer si un e-mail donné a déjà reçu un badge d'un émetteur de la plateforme.
Si des attributions existent pour cette adresse, vous recevez un e-mail intitulé « Connectez-vous à votre portail Badges Ninja » avec un seul bouton :
Ouvrir mon portail
Le lien est valide pendant 24 heures et ne fonctionne qu'une fois. S'il expire avant que vous cliquiez, demandez-en simplement un nouveau — sans pénalité.
Cliquer ouvre badges.ninja/me?token=…. La page échange le token contre un jeton de session de 1 heure (stocké uniquement dans le sessionStorage du navigateur, jamais dans un cookie) et vous redirige vers le mur de badges. La session expire à la fermeture de l'onglet ou après une heure d'activité, selon ce qui arrive en premier.
Une fois connecté, le portail affiche :
badges.ninja/u/jane-3a4f) — suggéré automatiquement à partir de la partie locale de votre e-mail avec 4 caractères aléatoires ajoutés pour l'unicité. Cliquez sur Modifier pour en choisir un plus joli./u/<handle>). L'attribution reste valide ; vous choisissez seulement ce qui est listé publiquement.
Les attributions se chargent par 50. Si vous en avez plus, un bouton Charger plus apparaît en bas ; nous paginons par curseur stable côté serveur, donc l'ordre ne bouge pas au défilement.
Le bouton Déconnexion dans l'en-tête efface le jeton de session de sessionStorage. Fermer l'onglet fait automatiquement la même chose.
Une fois que vous avez un handle, toute personne visitant badges.ninja/u/<handle> voit une grille nette de vos badges, avec votre nom d'affichage et le nombre de badges, plus des cartes par badge qui ouvrent la page publique d'attribution au clic.

Le profil public ne montre que les badges que vous n'avez pas masqués. Vous n'avez pas besoin d'être connecté pour partager votre URL /u/<handle> — c'est une page entièrement publique qui vous appartient.
Les handles doivent faire 3 à 20 caractères, uniquement a-z 0-9 _ -. Ils sont insensibles à la casse et uniques globalement sur badges.ninja. Si le handle souhaité est pris, vous obtiendrez une erreur claire et pourrez en choisir un autre.
Vous pouvez changer de handle à tout moment depuis le portail — le nouveau devient l'URL canonique immédiatement et l'ancien redevient disponible pour quelqu'un d'autre. Les liens de partage existants que vous avez envoyés (/u/ancien-handle) ne redirigent pas — ils indiqueront simplement « Profil introuvable ».
En bas du portail se trouve un lien Supprimer mes données de Badges Ninja. Il fait ce qui suit :
removed:5f3a8b9c…). L'attribution elle-même reste intacte (le JSON de l'assertion, l'image du badge, la preuve blockchain le cas échéant), vous n'invalidez donc pas la certification — les émetteurs ont toujours votre badge — mais vous devenez non-découvrable : rechercher votre e-mail dans tout portail ne donne aucun résultat, et votre connexion /me ne trouve plus d'attributions./u/<handle> renvoie 404 et que le handle redevient disponible.Ceci est irréversible. Vous aurez besoin d'une nouvelle session de portail (c.-à-d. un nouveau magic link) seulement si vous changez d'avis avant la fin du nettoyage.
Ce que cela NE fait PAS
/awards/<guid>) restent valides à des fins de vérification — c'est la spéc.Deux possibilités :
/awards/<guid>.Pas encore. Le portail n'affiche actuellement que les badges émis via badges.ninja. L'agrégation inter-émetteurs (le modèle « Open Badges Backpack ») était un objectif majeur d'Open Badges au début des années 2010, mais l'écosystème s'est déplacé vers LinkedIn comme agrégateur de fait. Nous ne prévoyons pas de concurrencer ce terrain.
Oui — chaque page publique d'attribution (/awards/<guid>) possède un bouton Ajouter au profil LinkedIn lorsque l'émetteur a défini son ID d'organisation LinkedIn. Le bouton utilise le deep-link Add-to-Profile de LinkedIn, donc le badge atterrit directement dans votre section Certifications sans copier-coller manuel.
Chaque page d'attribution suit les vues, partages, téléchargements et clics « ajouter à LinkedIn ». Les émetteurs voient ces compteurs dans leur propre tableau de bord ; les destinataires les voient sur la page publique d'attribution. Comme chez Credly, l'identité du visiteur n'est jamais enregistrée — uniquement les compteurs.
24 heures. Passé ce délai, demandez-en un nouveau — pas de limitation, pas de pénalité.
1 heure après connexion. Rafraîchir la page dans cette fenêtre garde la session active ; fermer l'onglet la termine.
Non. Les badges masqués sont filtrés de la vue publique /u/<handle>. Ils ne sont visibles que par vous, connecté au portail.
Oui — ouvrez n'importe quel badge depuis le portail, puis utilisez les boutons Télécharger le PNG (Open Badges baked) ou Télécharger le certificat PDF sur la page publique d'attribution. Les deux sont signés et vérifiables selon la spéc Open Badges v2.
L'accès au portail par les destinataires ne change rien pour l'émetteur — la table d'attributions du tableau de bord de l'émetteur fonctionne exactement de la même manière. Le portail est purement additif.
Si vous êtes émetteur et que vous n'avez pas encore configuré votre ID d'organisation LinkedIn, faites-le : Gestion des émetteurs → Ajouter à LinkedIn. C'est le plus grand levier de « taux de partage » de la plateforme.
{ kind: "magic", email, exp } signée avec un secret serveur roulé via AWS Secrets Manager (recipient/keys:tokenSecret). À la vérification, nous émettons un jeton { kind: "session", email, exp }. Pas de table de sessions en base.RECIPIENT_EMAIL_LC-TIMESTAMP de la table d'attributions. L'e-mail est normalisé en minuscules avant stockage et recherche.EMAIL_LC afin que /u/<handle> puisse lister les attributions sans que le destinataire soit connecté. Les attributions masquées sont filtrées côté serveur.RECIPIENT_EMAIL_LC de chaque attribution correspondante en removed:<random> et retire l'attribut RECIPIENT_EMAIL en clair via un UPDATE DynamoDB. La ligne de profil est supprimée.POST /me/auth/request { email } — envoie le magic linkPOST /me/auth/verify { token } — renvoie le jeton de sessionGET /me — profil + première page d'attributions (Bearer)GET /me/awards?lastEvaluatedKey=… — paginé (Bearer)PUT /me/handle { handle } — définir/changer le handle (Bearer)PUT /me/awards/{guid}/visibility { hidden: bool } — basculer masqué (Bearer)POST /me/auth/forget — désassociation RGPD (Bearer)GET /u/{handle} — profil public (sans auth)