Skip to content

Portal odbiorcy

Portal odbiorcy to samoobsługowa strefa pod adresem badges.ninja/me, gdzie każdy, kto otrzymał odznakę, może się zalogować (bez konta), przeglądać wszystkie poświadczenia otrzymane przez badges.ninja i stworzyć publiczny profil, aby się nimi dzielić.

To oddzielne doświadczenie od panelu wystawcy:

OdbiorcaURLUwierzytelnianie
Wystawca (ktoś wydający odznaki)/dashboardPrawdziwe konto (e-mail + hasło / SSO)
Odbiorca (ktoś zdobywający odznaki)/meMagiczny link przez e-mail — bez konta, bez hasła
Każdy (weryfikujący)/awards/<guid>, /verify/<guid>, /u/<handle>Brak — całkowicie publiczne

Dlaczego bez hasła?

Odbiorcy nie powinni musieć pamiętać kolejnego loginu tylko po to, by obejrzeć otrzymane odznaki. Zamiast tego wysyłamy im jednorazowy link.

Jak odbiorcy się logują

1. Wprowadź swój e-mail

Wejdź na badges.ninja/me. Strona pokazuje jedno pole e-mail:

Formularz logowania do portalu odbiorcy

Wprowadź adres e-mail, który otrzymywał odznaki, i kliknij Wyślij mi link do logowania.

Odpowiadamy komunikatem "sprawdź skrzynkę" niezależnie od tego, czy pod tym adresem istnieją jakiekolwiek wydania. Dzięki temu nie ujawniamy, czy dany e-mail kiedykolwiek otrzymał odznakę od jakiegokolwiek wystawcy na platformie.

Jeśli pod adresem istnieją wydania, otrzymasz e-mail zatytułowany "Sign in to your Badges Ninja portal" z jednym przyciskiem:

Open my portal

Link jest ważny przez 24 godziny i działa tylko raz. Jeśli wygaśnie, zanim klikniesz — poproś o nowy, bez żadnej kary.

3. Jesteś w środku

Kliknięcie linku otwiera badges.ninja/me?token=…. Strona wymienia token na 1-godzinny token sesji (przechowywany tylko w sessionStorage przeglądarki, nigdy w ciasteczku) i przekierowuje cię na ścianę odznak. Sesja wygasa, gdy zamkniesz kartę lub po godzinie aktywności — co nastąpi pierwsze.

Ściana odznak

Po zalogowaniu portal pokazuje:

  • Twoje handle u góry (np. badges.ninja/u/jane-3a4f) — automatycznie sugerowane z lokalnej części e-maila z 4 losowymi znakami dla unikalności. Kliknij Zmień, aby wybrać coś ładniejszego.
  • Siatkę każdej odznaki wydanej na twój e-mail przez badges.ninja, od najnowszych, wizualnie pogrupowaną w karty.
  • Akcje na karcie:
    • Otwórz — przejdź na publiczną stronę wydania (tę samą, którą widzą wystawcy/weryfikujący).
    • Ukryj w profilu / Pokaż w profilu — przełącz, czy ta odznaka pojawi się na twoim publicznym profilu (/u/<handle>). Samo wydanie pozostaje ważne; po prostu kontrolujesz, co jest wymienione publicznie.

Ściana odznak portalu odbiorcy

Paginacja

Wydania ładują się po 50. Jeśli masz więcej, na dole pojawia się przycisk Załaduj więcej; paginujemy po stabilnym kursorze po stronie backendu, więc kolejność nie zmienia się podczas przewijania.

Wyloguj

Przycisk Wyloguj w nagłówku czyści token sesji z sessionStorage. Zamknięcie karty robi to samo automatycznie.

Twój publiczny profil

Gdy już masz handle, każdy, kto odwiedzi badges.ninja/u/<handle>, zobaczy przejrzystą siatkę twoich odznak z twoją nazwą wyświetlaną i licznikiem odznak, oraz karty odznak, które po kliknięciu otwierają publiczną stronę wydania.

Publiczny profil odbiorcy

Publiczny profil pokazuje tylko odznaki, których nie ukryłeś. Nie musisz być zalogowany, aby udostępniać swój URL /u/<handle> — to w pełni publiczna strona, której jesteś właścicielem.

Wybór handle

Handle muszą mieć 3–20 znaków, tylko a-z 0-9 _ -. Są niewrażliwe na wielkość liter i globalnie unikalne na badges.ninja. Jeśli wybrane handle jest zajęte, dostaniesz wyraźny błąd i możesz wybrać inne.

Możesz zmienić handle w dowolnym momencie z portalu — nowe staje się kanonicznym URL-em natychmiast, a stare staje się dostępne dla kogoś innego. Istniejące wysłane linki (/u/old-handle) nie będą przekierowywać — po prostu pokażą "Profil nie znaleziony".

Usuwanie twoich danych (GDPR)

Na dole portalu znajduje się link Usuń moje dane z Badges Ninja. Wykonuje następujące:

  1. Zastępuje twój e-mail na każdym wydaniu, które otrzymałeś, nieprzezroczystym hashem (np. removed:5f3a8b9c…). Samo wydanie pozostaje nienaruszone (JSON assertion, obraz odznaki, ewentualny dowód blockchain), więc nie unieważniasz poświadczenia — wystawcy nadal trzymają twoją odznakę — ale stajesz się niewyszukiwalny: wyszukiwanie twojego e-maila w dowolnym portalu nie daje wyników, a logowanie do /me przestaje znajdować wydania.
  2. Usuwa wiersz twojego profilu, więc /u/<handle> zwraca 404, a handle staje się dostępne dla kogoś innego.

To nieodwracalne. Będziesz potrzebować nowej sesji portalu (tj. nowego magicznego linku) tylko wtedy, gdy zmienisz zdanie, zanim czyszczenie się zakończy.

Czego to NIE robi

  • Nie usuwa wydań. Wystawca, który wydał ci odznakę, nadal ma rekord. Assertions Open Badges v2 (pliki JSON pod /awards/<guid>) pozostają ważne do celów weryfikacji — tak mówi specyfikacja.
  • Jeśli chcesz, aby wystawca faktycznie usunął wydanie (a nie tylko odłączył twój e-mail od niego), skontaktuj się z wystawcą bezpośrednio.

Najczęściej zadawane

Znajomy mówi, że zdobył odznakę, ale jej nie widać

Dwie możliwości:

  1. Wystawca użył innego e-maila. Wielu wystawców wydaje na firmowy e-mail; spróbuj zalogować się także tym.
  2. Wydanie jest starsze niż funkcja portalu odbiorcy. Uzupełniamy e-maile dla wydań, które miały ustawiony adres, ale bardzo stare wydania mogły być wydane bez e-maila odbiorcy (~99% historycznych wydań na platformie). Te można oglądać tylko przez ich bezpośredni URL /awards/<guid>.

Czy mogę zaimportować odznaki z Credly / Accredible / innych platform?

Jeszcze nie. Portal obecnie pokazuje tylko odznaki wydane przez badges.ninja. Agregacja cross-wystawcza (model "Open Badges Backpack") była głównym celem Open Badges we wczesnych latach 2010, ale szersza ekosystem przeszedł na LinkedIn jako de facto agregatora. Nie planujemy z tym rywalizować.

Czy mogę dodać odznakę do profilu LinkedIn?

Tak — każda publiczna strona wydania (/awards/<guid>) ma przycisk Add to LinkedIn profile, gdy wystawca ustawił swój identyfikator organizacji LinkedIn. Przycisk używa deep-linku Add-to-Profile LinkedIn, więc odznaka trafia bezpośrednio do sekcji Certyfikaty bez ręcznego kopiowania.

Czy widzę swoje liczniki wyświetleń?

Każda strona wydania śledzi wyświetlenia, udostępnienia, pobrania i kliknięcia LinkedIn add. Wystawcy widzą te liczniki na swoim panelu; odbiorcy widzą je na publicznej stronie wydania. Zgodnie z konwencją Credly, tożsamość oglądającego nigdy nie jest rejestrowana — tylko liczniki.

24 godziny. Po tym czasie poproś o nowy — bez limitów, bez kary.

Jak długo trwa sesja?

1 godzina od zalogowania. Odświeżanie strony w tym oknie utrzymuje sesję; zamknięcie karty ją kończy.

Czy ktoś inny może zobaczyć moje ukryte odznaki?

Nie. Ukryte odznaki są odfiltrowywane z publicznego widoku /u/<handle>. Są widoczne tylko dla ciebie, gdy jesteś zalogowany w portalu.

Czy mogę pobrać swoje odznaki?

Tak — otwórz dowolną odznakę z portalu, a następnie użyj przycisków Pobierz PNG (Open Badges baked) lub Pobierz certyfikat PDF na publicznej stronie wydania. Oba są podpisane i weryfikowalne zgodnie ze specyfikacją Open Badges v2.

Jak to wygląda dla wystawców

Odbiorcy korzystający z portalu niczego nie zmieniają dla wystawcy — tabela wydań na panelu wystawcy działa dokładnie tak samo. Portal jest czysto dodatkowy.

Jeśli jesteś wystawcą czytającym to i jeszcze nie ustawiłeś identyfikatora organizacji LinkedIn, zrób to teraz: Zarządzanie wystawcami → LinkedIn add-to-profile. To najpotężniejsza dźwignia "share rate" na platformie.

Szczegóły techniczne (dla ciekawskich)

Dla integratorów platformy / maniaków Open Badges
  • Model uwierzytelniania: bezstanowe tokeny HMAC. Payload magicznego linku to { kind: "magic", email, exp } podpisany sekretnym kluczem serwerowym rotowanym przez AWS Secrets Manager (recipient/keys:tokenSecret). Przy weryfikacji generujemy token { kind: "session", email, exp }. Brak tabeli sesji w DB.
  • Wyszukiwanie po e-mailu: zapytanie do GSI RECIPIENT_EMAIL_LC-TIMESTAMP w tabeli wydań. E-mail normalizowany jest do małych liter przed zapisem i wyszukiwaniem.
  • Publiczny profil: każdy wiersz profilu przechowuje EMAIL_LC, dzięki czemu /u/<handle> może wyświetlić wydania bez logowania odbiorcy. Ukryte wydania są filtrowane po stronie serwera.
  • GDPR forget: przepisuje RECIPIENT_EMAIL_LC w każdym pasującym wierszu wydania na removed:<random> i usuwa atrybut RECIPIENT_EMAIL w postaci jawnej przez DynamoDB UPDATE. Wiersz profilu usunięty.
  • Endpointy (bez Cognito; uwierzytelnianie magicznym linkiem):
    • POST /me/auth/request { email } — wysyła magiczny link e-mailem
    • POST /me/auth/verify { token } — zwraca token sesji
    • GET /me — profil + pierwsza strona wydań (Bearer)
    • GET /me/awards?lastEvaluatedKey=… — paginacja (Bearer)
    • PUT /me/handle { handle } — ustaw/zmień handle (Bearer)
    • PUT /me/awards/{guid}/visibility { hidden: bool } — przełącz ukrycie (Bearer)
    • POST /me/auth/forget — GDPR odłączenie (Bearer)
    • GET /u/{handle} — publiczny profil (bez auth)

badges.ninja Documentation