Skip to content

Ontvangersportaal

Het ontvangersportaal is een selfservice-omgeving op badges.ninja/me waar iedereen aan wie een badge is toegekend zich kan aanmelden (geen account nodig), door alle via badges.ninja ontvangen referenties kan bladeren en een publiek profiel kan samenstellen om ze te delen.

Het is een aparte ervaring, los van het dashboard van de uitgever:

PubliekURLAuthenticatie
Uitgever (iemand die badges uitreikt)/dashboardEcht account (e-mail + wachtwoord / SSO)
Ontvanger (iemand die badges verdient)/meMagische link via e-mail — geen account, geen wachtwoord
Iedereen (verificateurs)/awards/<guid>, /verify/<guid>, /u/<handle>Geen — volledig openbaar

Waarom geen wachtwoord?

Ontvangers zouden niet nog een nieuwe login moeten onthouden om naar de badges te kijken die ze hebben gekregen. In plaats daarvan e-mailen we hun een eenmalige link.

Hoe ontvangers zich aanmelden

1. Voer je e-mailadres in

Ga naar badges.ninja/me. De pagina toont één enkel e-mailveld:

Aanmeldformulier van het ontvangersportaal

Voer het e-mailadres in dat de badges heeft ontvangen en klik op Stuur me een aanmeldlink.

We antwoorden met een bericht in de trant van "controleer je inbox", ongeacht of er voor dat adres uitreikingen bestaan. Zo voorkomen we dat we uitlekken of een bepaald e-mailadres ooit een badge van een uitgever op het platform heeft ontvangen.

Als er uitreikingen bestaan voor dat adres, ontvang je een e-mail met als titel "Sign in to your Badges Ninja portal" en één knop:

Open my portal

De link is 24 uur geldig en werkt slechts één keer. Mocht hij verlopen voor je hem opent, vraag dan gewoon een nieuwe aan — zonder enige boete.

3. Je bent binnen

Door op de link te klikken opent badges.ninja/me?token=…. De pagina wisselt het token in voor een sessietoken van 1 uur (uitsluitend opgeslagen in de sessionStorage van je browser, nooit in een cookie) en stuurt je door naar de badge-wand. De sessie vervalt wanneer je het tabblad sluit of na een uur inactiviteit, wat het eerst komt.

De badge-wand

Eenmaal aangemeld toont het portaal:

  • Je handle bovenaan (bijvoorbeeld badges.ninja/u/jane-3a4f) — automatisch voorgesteld op basis van het lokale deel van je e-mailadres, aangevuld met 4 willekeurige tekens voor uniciteit. Klik op Wijzigen om iets mooiers te kiezen.
  • Een raster met elke badge die aan jouw e-mailadres via badges.ninja is uitgereikt, nieuwste eerst, visueel per kaart gegroepeerd.
  • Acties per kaart:
    • Openen — ga naar de publieke uitreikingspagina (dezelfde die uitgevers/verificateurs zien).
    • Verbergen voor profiel / Op profiel tonen — bepaal of deze badge op je publieke profiel (/u/<handle>) verschijnt. De uitreiking zelf blijft geldig; jij stelt slechts samen wat publiek wordt getoond.

Badge-wand van het ontvangersportaal

Paginering

Uitreikingen worden 50 tegelijk geladen. Heb je er meer, dan verschijnt onderaan een knop Meer laden; we pagineren aan de backend via een stabiele cursor, dus de volgorde verschuift niet terwijl je scrolt.

Afmelden

De knop Afmelden in de kop wist het sessietoken uit de sessionStorage. Een tabblad sluiten doet automatisch hetzelfde.

Je publieke profiel

Zodra je een handle hebt, ziet iedereen die badges.ninja/u/<handle> bezoekt een overzichtelijk raster van je badges, met je weergavenaam en het aantal badges, plus kaarten per badge die bij een klik de publieke uitreikingspagina openen.

Publiek profiel van de ontvanger

Het publieke profiel toont alleen de badges die je niet hebt verborgen. Je hoeft je niet aan te melden om je /u/<handle>-URL te delen — het is een volledig publieke pagina die van jou is.

Een handle kiezen

Handles moeten 3–20 tekens zijn, alleen a-z 0-9 _ -. Ze zijn hoofdletterongevoelig en wereldwijd uniek binnen badges.ninja. Is de handle die je wilt al bezet, dan krijg je een duidelijke melding en kun je iets anders kiezen.

Je kunt je handle op elk moment via het portaal wijzigen — de nieuwe wordt meteen de canonieke URL en de oude komt weer beschikbaar voor iemand anders. Al verstuurde deellinks (/u/old-handle) worden niet doorgestuurd — die tonen simpelweg "Profiel niet gevonden".

Je gegevens verwijderen (AVG)

Onderaan het portaal vind je de link Verwijder mijn gegevens uit Badges Ninja. Die doet het volgende:

  1. Vervangt je e-mailadres op elke uitreiking die je hebt ontvangen door een ondoorzichtige hash (bijvoorbeeld removed:5f3a8b9c…). De uitreiking zelf blijft intact (de JSON van de assertion, de badge-afbeelding, de eventuele blockchain-bewijsvoering), dus de referentie wordt niet ongeldig — uitgevers houden je badge nog steeds — maar je wordt onvindbaar: zoeken op je e-mailadres in een portaal levert geen resultaten op, en aanmelden op /me levert geen uitreikingen meer op.
  2. Verwijdert je profielrij, zodat /u/<handle> een 404 geeft en de handle weer beschikbaar wordt voor iemand anders.

Dit is onomkeerbaar. Je hebt alleen een nieuwe portaalsessie (dus een nieuwe magische link) nodig als je van gedachten verandert voordat de opruiming klaar is.

Wat dit NIET doet

  • Het verwijdert de uitreikingen niet. De uitgever die jou de badge gaf, houdt nog een eigen registratie. Open Badges v2-assertions (de JSON-bestanden op /awards/<guid>) blijven geldig voor verificatiedoeleinden — zo schrijft de specificatie het voor.
  • Wil je dat een uitgever een uitreiking daadwerkelijk verwijdert (niet enkel je e-mailadres loskoppelt), neem dan rechtstreeks contact op met die uitgever.

Veelgestelde vragen

Mijn vriend zegt een badge te hebben verdiend, maar ik zie hem niet

Twee mogelijkheden:

  1. De uitgever gebruikte een ander e-mailadres. Veel uitgevers reiken uit via het bedrijfse-mailadres; probeer je ook daarmee aan te melden.
  2. De uitreiking is ouder dan de functie Ontvangersportaal. We vullen e-mailadressen met terugwerkende kracht aan voor uitreikingen die er al eentje hadden, maar zeer oude uitreikingen kunnen zonder ontvanger-e-mailadres zijn uitgegeven (~99% van de historische uitreikingen op het platform). Die zijn alleen te bekijken via de directe /awards/<guid>-URL.

Kan ik badges importeren uit Credly / Accredible / andere platformen?

Nog niet. Het portaal toont momenteel alleen badges die via badges.ninja zijn uitgegeven. Aggregatie over uitgevers heen (het "Open Badges Backpack"-model) was begin jaren 2010 een belangrijk doel van Open Badges, maar het bredere ecosysteem verschoof naar LinkedIn als de-facto aggregator. Op dat terrein willen we niet concurreren.

Kan ik een badge toevoegen aan mijn LinkedIn-profiel?

Ja — elke publieke uitreikingspagina (/awards/<guid>) heeft een knop Toevoegen aan LinkedIn-profiel zodra de uitgever de LinkedIn-organisatie-ID heeft ingesteld. De knop gebruikt de Add-to-Profile-deeplink van LinkedIn, zodat de badge zonder kopieer- en plakwerk direct in de sectie Certificeringen terechtkomt.

Kan ik mijn weergavecijfers zien?

Elke uitreikingspagina registreert weergaven, shares, downloads en LinkedIn-toevoegingskliks. Uitgevers zien deze aantallen op hun eigen dashboard; ontvangers zien ze op de publieke uitreikingspagina. Conform de Credly-conventie wordt de identiteit van de kijker nooit vastgelegd — alleen de aantallen.

24 uur. Daarna vraag je gewoon een nieuwe aan — geen snelheidsbeperking, geen boete.

Hoe lang duurt de sessie?

1 uur vanaf het aanmelden. De pagina binnen dat tijdvak verversen houdt de sessie actief; het tabblad sluiten beëindigt de sessie.

Kan iemand anders mijn verborgen badges zien?

Nee. Verborgen badges worden uit de publieke /u/<handle>-weergave gefilterd. Ze zijn alleen zichtbaar voor jou wanneer je bent aangemeld bij het portaal.

Kan ik mijn badges downloaden?

Ja — open een badge vanuit het portaal en gebruik vervolgens de knoppen PNG downloaden (Open Badges baked) of PDF-certificaat downloaden op de publieke uitreikingspagina. Beide zijn ondertekend en verifieerbaar via de specificatie Open Badges v2.

Hoe ziet dit eruit voor uitgevers

Dat ontvangers het portaal gebruiken verandert niets voor de uitgever — de tabel met uitreikingen in het dashboard van de uitgever werkt precies hetzelfde. Het portaal is puur aanvullend.

Lees je dit als uitgever en heb je je LinkedIn-organisatie-ID nog niet ingesteld, doe dat nu: Uitgevers beheren → Toevoegen aan LinkedIn-profiel. Het is de grootste hefboom voor "deelratio" op het platform.

Technische details (voor de nieuwsgierigen)

Voor platformintegrators / Open Badges-fans
  • Authenticatiemodel: toestandsloze HMAC-tokens. De payload van de magische link is { kind: "magic", email, exp }, ondertekend met een server-side geheim dat via AWS Secrets Manager wordt gerouteerd (recipient/keys:tokenSecret). Bij verificatie genereren we een token { kind: "session", email, exp }. Er is geen door de database ondersteunde sessietabel.
  • Zoeken op e-mail: bevraagt de GSI RECIPIENT_EMAIL_LC-TIMESTAMP op de uitreikingentabel. E-mail wordt vóór opslag en opzoeking naar kleine letters genormaliseerd.
  • Publiek profiel: elke profielrij bewaart EMAIL_LC, zodat /u/<handle> uitreikingen kan tonen zonder dat de ontvanger is aangemeld. Verborgen uitreikingen worden aan de serverzijde eruit gefilterd.
  • Vergeten volgens AVG: schrijft op elke overeenkomende uitreikingsrij RECIPIENT_EMAIL_LC om naar removed:<random> en verwijdert het platte RECIPIENT_EMAIL-attribuut via een DynamoDB-UPDATE. De profielrij wordt verwijderd.
  • Endpoints (geen Cognito; magische-link-auth):
    • POST /me/auth/request { email } — stuurt de magische link per e-mail
    • POST /me/auth/verify { token } — geeft een sessietoken terug
    • GET /me — profiel + eerste pagina met uitreikingen (Bearer)
    • GET /me/awards?lastEvaluatedKey=… — gepagineerd (Bearer)
    • PUT /me/handle { handle } — handle instellen/wijzigen (Bearer)
    • PUT /me/awards/{guid}/visibility { hidden: bool } — verbergen omschakelen (Bearer)
    • POST /me/auth/forget — AVG-ontkoppeling (Bearer)
    • GET /u/{handle} — publiek profiel (geen auth)

badges.ninja Documentation