Skip to content

Portalul destinatarului ​

Portalul destinatarului este un spațiu de auto-servire la badges.ninja/me unde orice persoană care a primit o credențială se poate autentifica (fără a fi nevoie de cont), poate parcurge toate credențialele primite prin badges.ninja și își poate îngriji un profil public pentru a le distribui.

Este o experiență separată de panoul emitentului:

PublicURLAutentificare
Emitent (cine emite credențiale)/dashboardCont real (e-mail + parolă / SSO)
Destinatar (cine primește credențiale)/meLink magic prin e-mail — fără cont, fără parolă
Oricine (verificatori)/awards/<guid>, /verify/<guid>, /u/<handle>Niciuna — complet publică

De ce fără parolă?

Destinatarii nu ar trebui să-și amintească o altă autentificare doar pentru a consulta credențialele primite. În schimb le trimitem un link unic prin e-mail.

Cum se autentifică destinatarii ​

1. Introdu adresa de e-mail ​

Accesează badges.ninja/me. Pagina afișează un singur câmp de e-mail:

Formular de autentificare al portalului destinatarului

Introdu adresa care a primit credențialele și apasă Trimite-mi un link de autentificare.

Răspundem cu un mesaj „verifică-ți căsuța” indiferent dacă există acreditări pentru acea adresă. Astfel evităm să dezvăluim dacă un e-mail a primit vreodată o credențială de la vreun emitent de pe platformă.

2. Deschide linkul magic ​

Dacă există acreditări pentru adresă, primești un e-mail intitulat "Sign in to your Badges Ninja portal" cu un singur buton:

Open my portal

Linkul este valabil 24 de ore și funcționează o singură dată. Dacă expiră înainte să-l apeși, solicită unul nou — fără penalizare.

3. Ai intrat ​

Apăsarea linkului deschide badges.ninja/me?token=…. Pagina schimbă token-ul cu unul de sesiune de 1 oră (păstrat doar în sessionStorage-ul browserului, niciodată în cookie-uri) și te redirecționează la zidul credențialelor. Sesiunea expiră la închiderea filei sau după o oră de activitate, oricare vine prima.

Zidul credențialelor ​

Odată autentificat, portalul afișează:

  • Aliasul tău în partea de sus (ex. badges.ninja/u/jane-3a4f) — propus automat pornind de la partea locală a e-mailului, cu 4 caractere aleatorii adăugate pentru unicitate. Apasă Schimbă pentru a alege unul mai frumos.
  • O grilă cu fiecare credențială livrată către e-mailul tău prin badges.ninja, de la cea mai recentă la cea mai veche, grupată vizual pe carduri.
  • Acțiuni per card:
    • Deschide — accesează pagina publică a acreditării (aceeași pe care o văd emitenții/verificatorii).
    • Ascunde din profil / Afișează în profil — comută dacă această credențială apare sau nu în profilul tău public (/u/<handle>). Acreditarea rămâne valabilă; doar îngrijești ce apare public.

Zidul de credențiale al portalului destinatarului

Paginare ​

Acreditările se încarcă câte 50 odată. Dacă ai mai multe, în partea de jos apare un buton Încarcă mai multe; paginăm cu cursor stabil pe backend, astfel încât ordinea nu se modifică în timpul derulării.

Deconectare ​

Butonul Ieși din antet șterge token-ul de sesiune din sessionStorage. Închiderea filei face același lucru automat.

Profilul tău public ​

Odată ce ai un alias, orice persoană care vizitează badges.ninja/u/<handle> va vedea o grilă îngrijită cu credențialele tale, cu numele afișat și numărul de credențiale, plus carduri per credențială care la apăsare deschid pagina publică a acreditării.

Profilul public al destinatarului

Profilul public arată doar credențialele pe care nu le-ai ascuns. Nu trebuie să te autentifici pentru a distribui URL-ul /u/<handle> — este o pagină complet publică care îți aparține.

Alegerea unui alias ​

Aliasurile trebuie să aibă între 3 și 20 de caractere, doar a-z 0-9 _ -. Nu fac diferență între majuscule și minuscule și sunt unice la nivel global pe badges.ninja. Dacă aliasul dorit este ocupat, vei primi o eroare clară și vei putea alege altul.

Poți schimba aliasul oricând din portal — cel nou devine imediat URL-ul canonic, iar cel vechi rămâne disponibil pentru cineva altcineva. Linkurile trimise anterior (/u/old-handle) nu vor redirecționa — vor afișa doar „Profil negăsit”.

Eliminarea datelor tale (GDPR) ​

La baza portalului vei găsi un link Elimină datele mele din Badges Ninja. Funcționează astfel:

  1. Înlocuiește e-mailul tău pe fiecare acreditare primită cu un hash opac (ex. removed:5f3a8b9c…). Acreditarea în sine rămâne intactă (JSON-ul assertion-ului și imaginea credențialei), iar credențiala nu este invalidată — emitenții încă păstrează credențiala — însă devii indetectabil: căutarea e-mailului tău în orice portal nu aduce rezultate, iar autentificarea prin /me încetează să mai găsească acreditări.
  2. Șterge rândul profilului, astfel încât /u/<handle> răspunde 404, iar aliasul devine disponibil pentru altcineva.

Este ireversibilă. Vei avea nevoie de o sesiune nouă în portal (adică un nou link magic) doar dacă te răzgândești înainte de finalizarea curățării.

Ce NU face acest proces

  • Nu șterge acreditările. Emitentul care ți le-a livrat păstrează în continuare înregistrarea. Assertion-urile Open Badges v2 (fișierele JSON de la /awards/<guid>) rămân valabile în scop de verificare — așa prevede specificația.
  • Dacă dorești ca un emitent să șteargă cu adevărat o acreditare (nu doar să deconecteze e-mailul tău de aceasta), contactează direct emitentul.

Întrebări uzuale ​

Un cunoscut spune că a câștigat o credențială, dar nu îi apare ​

Două posibilități:

  1. Emitentul a folosit o altă adresă de e-mail. Mulți emitenți emit credențiale pe adresa corporativă; încearcă autentificarea și cu aceea.
  2. Acreditarea este anterioară funcționalității portalului destinatarului. Completăm retroactiv e-mailurile la acreditările care aveau una setată, însă unele foarte vechi pot fi fost emise fără adresa destinatarului (aproximativ 99% din acreditările istorice de pe platformă). Acelea pot fi văzute doar prin URL-ul direct /awards/<guid>.

Pot importa credențiale din Credly / Accredible / alte platforme? ​

Nu încă. Portalul afișează doar credențialele emise prin badges.ninja. Agregarea între emitenți (modelul „Open Badges Backpack”) a fost un obiectiv major pentru Open Badges la începutul anilor 2010, însă ecosistemul extins s-a mutat către LinkedIn ca agregator de facto. Nu intenționăm să concurăm pe această suprafață.

Pot adăuga o credențială în profilul meu LinkedIn? ​

Da — fiecare pagină publică de acreditare (/awards/<guid>) arată un buton Add to LinkedIn profile atunci când emitentul și-a setat LinkedIn organization ID. Butonul folosește deep link-ul Add-to-Profile de la LinkedIn, astfel încât credențiala ajunge direct în secțiunea Certifications fără copy-paste manual.

Pot vedea contoarele mele de vizualizări? ​

Fiecare pagină de acreditare urmărește vizualizările, distribuirile, descărcările și adăugările la LinkedIn. Emitenții văd aceste cifre în propriul panou; destinatarii le văd pe pagina publică a acreditării. Conform convenției Credly, identitatea vizitatorului nu este niciodată înregistrată — doar numărul.

Cât durează linkul magic? ​

24 de ore. După acest interval, solicită unul nou — fără limite de frecvență și fără penalizare.

Cât durează sesiunea? ​

1 oră de la autentificare. Reîmprospătarea paginii în acest interval menține sesiunea activă; închiderea filei o încheie.

Poate altcineva să îmi vadă credențialele ascunse? ​

Nu. Credențialele ascunse sunt filtrate din vizualizarea publică /u/<handle>. Sunt vizibile doar pentru tine atâta timp cât ești autentificat în portal.

Pot descărca credențialele mele? ​

Da — deschide orice credențială din portal și folosește butoanele Download PNG (Open Badges baked) sau Download PDF certificate din pagina publică a acreditării. Ambele sunt semnate și verificabile conform specificației Open Badges v2.

Cum arată pentru emitenți ​

Accesul destinatarilor la portal nu schimbă nimic pentru emitent — tabelul de acreditări din panoul emitentului funcționează exact la fel. Portalul este pur aditiv.

Dacă ești emitent și citești asta, iar încă nu ți-ai setat LinkedIn organization ID, fă-o acum: Gestionarea emitenților → LinkedIn add-to-profile. Este cea mai mare pârghie pentru rata de distribuire pe platformă.

Detalii tehnice (pentru curioși) ​

Pentru integratori / pasionați Open Badges
  • Model de autentificare: token-uri HMAC fără stare. Payload-ul linkului magic este { kind: "magic", email, exp } semnat cu un secret de server rotit prin AWS Secrets Manager (recipient/keys:tokenSecret). La verificare emitem un token { kind: "session", email, exp }. Fără tabel de sesiune în BD.
  • Căutare după e-mail: interoghează GSI-ul RECIPIENT_EMAIL_LC-TIMESTAMP din tabelul de acordări. E-mailul este normalizat în litere mici înainte de stocare și căutare.
  • Profil public: fiecare rând de profil păstrează EMAIL_LC astfel încât /u/<handle> să poată lista acordările fără ca destinatarul să fie autentificat. Acordările ascunse sunt filtrate pe server.
  • Uitare GDPR: rescrie RECIPIENT_EMAIL_LC-ul fiecărei acordări corespunzătoare în removed:<random> și elimină atributul simplu RECIPIENT_EMAIL prin UPDATE în DynamoDB. Rândul de profil este șters.
  • Endpoint-uri (fără Cognito; autentificare prin link magic):
    • POST /me/auth/request { email } — trimite linkul magic prin e-mail
    • POST /me/auth/verify { token } — returnează tokenul de sesiune
    • GET /me — profil + prima pagină de acordări (Bearer)
    • GET /me/awards?lastEvaluatedKey=… — paginat (Bearer)
    • PUT /me/handle { handle } — setează/schimbă aliasul (Bearer)
    • PUT /me/awards/{guid}/visibility { hidden: bool } — comută ascunderea (Bearer)
    • POST /me/auth/forget — deconectare GDPR (Bearer)
    • GET /u/{handle} — profil public (fără autentificare)

badges.ninja Documentation