Skip to content

Recipient Portal

Ang recipient portal ay isang self-service area sa badges.ninja/me kung saan ang sinumang nabigyan ng badge ay maaaring mag-sign in (walang account na kailangan), mag-browse sa bawat credential na natanggap nila sa pamamagitan ng badges.ninja, at mag-curate ng public profile para ibahagi ang mga ito.

Isang hiwalay na karanasan ito mula sa issuer dashboard:

AudienceURLAuth
Issuer (taong nagbibigay ng badge)/dashboardTunay na account (email + password / SSO)
Recipient (taong nakakakuha ng badge)/meMagic-link sa email — walang account, walang password
Sinuman (mga verifier)/awards/<guid>, /verify/<guid>, /u/<handle>Wala — ganap na publiko

Bakit walang password?

Hindi dapat kailangan ng mga tatanggap na alalahanin ang isa pang login para lang tingnan ang mga badge na ibinigay sa kanila. Nag-eemail kami sa kanila ng one-time link sa halip.

Paano nag-sign in ang mga tatanggap

1. Ilagay ang inyong email

Bisitahin ang badges.ninja/me. Ang pahina ay nagpapakita ng iisang email field:

Sign-in form ng recipient portal

Ilagay ang email address na nakatanggap ng mga badge at i-click ang Padalhan ako ng sign-in link.

Tumutugon kami ng "tingnan ang inyong inbox" na mensahe anuman kung may mga award o wala para sa address na iyon. Iniiwasan nito ang pag-leak kung ang isang naibigay na email ay nakatanggap na ng badge mula sa anumang issuer sa platform.

Kung may mga award para sa address, makakatanggap kayo ng email na may pamagat na "Sign in to your Badges Ninja portal" na may iisang button:

Buksan ang aking portal

Balido ang link sa loob ng 24 na oras at minsan lang gumagana. Kung mag-expire ito bago ninyo i-click, humingi lang ng bago — walang penalty.

3. Nakapasok na kayo

Bumubukas ang badges.ninja/me?token=… kapag ni-click ang link. Pinapalitan ng pahina ang token ng 1-oras na session token (nakaimbak lang sa sessionStorage ng inyong browser, hindi kailanman sa cookie) at ire-redirect kayo sa badge wall. Mag-expire ang session kapag isinara ninyo ang tab o pagkatapos ng isang oras ng aktibidad, alinman ang mauna.

Ang badge wall

Pagkatapos mag-sign in, ipinapakita ng portal ang:

  • Ang inyong handle sa itaas (hal., badges.ninja/u/jane-3a4f) — auto-suggested mula sa local-part ng inyong email na may 4 random na character na nakakabit para sa pagiging natatangi. I-click ang Palitan para pumili ng mas magandang isa.
  • Isang grid ng bawat badge na inisyu sa inyong email sa pamamagitan ng badges.ninja, pinakabago muna, na visually nakagrupo ayon sa card.
  • Bawat-card na aksyon:
    • Buksan — pumunta sa public award page (ang parehong nakikita ng mga issuer/verifier).
    • Itago sa profile / Ipakita sa profile — i-toggle kung lalabas ba ang badge na ito sa inyong public profile (/u/<handle>). Ang award mismo ay nananatiling balido; nag-cu-curate lang kayo kung ano ang nakalista nang publiko.

Badge wall ng recipient portal

Pagination

Naglo-load ang awards ng 50 sa isang pagkakataon. Kung mas marami kayo, may Mag-load Pa button na lalabas sa ibaba; nagpa-paginate kami sa pamamagitan ng stable cursor sa backend, kaya hindi nagbabago ang pagkakasunod-sunod habang nag-scroll kayo.

Mag-sign out

Inalis ng Mag-sign out button sa header ang session token mula sa sessionStorage. Awtomatikong ginagawa ng pagsasara ng tab ang parehong bagay.

Inyong public profile

Sa sandaling mayroon kayong handle, sinumang bumibisita sa badges.ninja/u/<handle> ay nakakakita ng malinis na grid ng inyong mga badge, kasama ang inyong display name at bilang ng badge, plus mga bawat-badge na card na bumubukas ng public award page kapag ni-click.

Public profile ng tatanggap

Ang public profile ay nagpapakita lang ng mga badge na hindi ninyo itinago. Hindi ninyo kailangang mag-sign in para ibahagi ang inyong /u/<handle> URL — isa itong ganap na publikong pahina na pag-aari ninyo.

Pagpili ng handle

Ang mga handle ay dapat 3–20 character, a-z 0-9 _ - lang. Hindi sila nakadepende sa malaki/maliit na titik at globally unique sa badges.ninja. Kung kinuha na ang handle na gusto ninyo, makakakuha kayo ng malinaw na error at maaari pumili ng iba.

Maaari ninyong palitan ang inyong handle kahit kailan mula sa portal — agad na nagiging canonical URL ang bago, at ang luma ay nagiging available para mag-claim ang ibang tao. Ang mga share link na ipinadala ninyo (/u/old-handle) ay hindi mag-re-redirect — magsasabi lang sila ng "Hindi nahanap ang profile".

Pag-alis ng inyong data (GDPR)

Sa ibaba ng portal ay may link na Alisin ang aking data sa Badges Ninja. Ginagawa nito ang sumusunod:

  1. Pinapalitan ang inyong email sa bawat award na natanggap ninyo ng opaque hash (hal., removed:5f3a8b9c…). Ang award mismo ay nananatiling buo (assertion JSON, larawan ng badge, blockchain proof kung mayroon) kaya hindi ninyo gagawing invalid ang credential — hawak pa rin ng issuer ang inyong badge — pero kayo ay nagiging hindi natatagpuan: ang paghahanap ng inyong email sa kahit anong portal ay nagbibigay ng walang resulta, at huminto ang /me sign-in sa paghanap ng mga award.
  2. Bina-burabal ang inyong profile row, kaya nagre-return ng 404 ang /u/<handle> at nagiging available ang handle para sa iba.

Ito ay irreversible. Kakailanganin ninyo ng bagong portal session (ibig sabihin, bagong magic link) lang kung magbago kayo ng isip bago makumpleto ang cleanup.

Ang HINDI ginagawa nito

  • Hindi nito binubura ang mga award. Ang issuer na nagbigay sa inyo ng award ay may record pa rin. Ang Open Badges v2 assertions (ang JSON files sa /awards/<guid>) ay nananatiling balido para sa mga layunin ng verification — iyan ang spec.
  • Kung gusto ninyong burahin talaga ng issuer ang isang award (hindi lang i-unbind ang inyong email mula rito), makipag-ugnayan sa issuer nang direkta.

Madalas itanong

Sinasabi ng kaibigan ko na nakakuha siya ng badge pero hindi lumalabas

Dalawang posibilidad:

  1. Iba ang email na ginamit ng issuer. Maraming issuer ang nag-aaward ayon sa company email; subukan ding mag-sign in sa email na iyon.
  2. Mas matanda ang award sa recipient portal feature. Nag-bbackfill kami ng mga email para sa mga award na may set, pero ang napakalumang awards ay maaaring inisyu nang walang recipient email (~99% ng historical awards sa platform). Ang mga iyon ay maaari lang tingnan sa pamamagitan ng kanilang direct na /awards/<guid> URL.

Maaari ko bang i-import ang mga badge mula sa Credly / Accredible / iba pang platform?

Hindi pa. Ang portal sa kasalukuyan ay nagpapakita lang ng mga badge na inisyu sa pamamagitan ng badges.ninja. Ang cross-issuer aggregation (ang "Open Badges Backpack" model) ay isang malaking layunin ng Open Badges sa unang bahagi ng 2010s, pero ang mas malawak na ekosistema ay lumipat sa LinkedIn bilang de-facto aggregator. Hindi kami nagpaplano na makipagkumpetensya sa surface na iyon.

Maaari ko bang idagdag ang badge sa aking LinkedIn profile?

Oo — bawat public award page (/awards/<guid>) ay may Add to LinkedIn profile button kapag itinakda ng issuer ang kanilang LinkedIn organization ID. Ginagamit ng button ang Add-to-Profile deep link ng LinkedIn, kaya direktang lalanding ang badge sa inyong Certifications section nang walang manual na copy-paste.

Nakikita ko ba ang aking view counts?

Sinusubaybayan ng bawat award page ang mga view, share, download, at LinkedIn add-clicks. Nakikita ng mga issuer ang mga bilang na ito sa kanilang sariling dashboard; nakikita ng mga tatanggap ang mga ito sa public award page. Sa convention ng Credly, hindi kailanman nire-record ang pagkakakilanlan ng viewer — bilang lang.

24 na oras. Pagkatapos noon, humingi ng bago — walang rate limiting, walang penalty.

Gaano katagal ang session?

1 oras mula sa pag-sign in. Ang pag-refresh ng pahina sa loob ng window na iyon ay nagpapanatiling buhay ng session; ang pagsasara ng tab ay nagtatapos nito.

Maaari bang makita ng iba ang aking hidden badges?

Hindi. Ang hidden badges ay na-filter palabas ng public /u/<handle> view. Nakikita lang sila sa inyo habang naka-sign in sa portal.

Maaari ko bang i-download ang aking mga badge?

Oo — buksan ang anumang badge mula sa portal, pagkatapos ay gamitin ang mga button na I-download ang PNG (Open Badges baked) o I-download ang PDF certificate sa public award page. Pareho silang nakapirma at verifiable sa pamamagitan ng Open Badges v2 spec.

Anong itsura nito para sa mga issuer

Ang mga tatanggap na nag-a-access sa portal ay walang binabago para sa issuer — ang awards table sa dashboard ng issuer ay gumagana sa eksaktong parehong paraan. Ang portal ay purong additive.

Kung kayo ay isang issuer na bumabasa nito at hindi pa itinakda ang inyong LinkedIn organization ID, gawin ito ngayon: Pamamahala ng mga Issuer → LinkedIn add-to-profile. Ito ang pinakamalaking lever ng "share rate" sa platform.

Mga teknikal na detalye (para sa mga curious)

Para sa mga platform integrator / Open Badges nerds
  • Auth model: stateless HMAC tokens. Ang magic-link payload ay { kind: "magic", email, exp } na pinirmahan ng server-side secret na rotated sa pamamagitan ng AWS Secrets Manager (recipient/keys:tokenSecret). Sa pag-verify, nag-mi-mint kami ng { kind: "session", email, exp } token. Walang DB-backed session table.
  • Email lookup: nagqu-query sa RECIPIENT_EMAIL_LC-TIMESTAMP GSI sa awards table. Ang email ay normalized sa lowercase bago mag-imbak at maghanap.
  • Public profile: bawat profile row ay nag-iimbak ng EMAIL_LC kaya maaaring ilista ng /u/<handle> ang mga award nang hindi nag-sign in ang tatanggap. Ang mga hidden award ay na-filter sa server-side.
  • GDPR forget: sinu-rewrite ang bawat matching award row's RECIPIENT_EMAIL_LC papuntang removed:<random> at inalis ang RECIPIENT_EMAIL plaintext attribute sa pamamagitan ng DynamoDB UPDATE. Ang profile row ay binura.
  • Mga endpoint (walang Cognito; magic-link auth):
    • POST /me/auth/request { email } — nag-eemail ng magic link
    • POST /me/auth/verify { token } — nagre-return ng session token
    • GET /me — profile + unang awards page (Bearer)
    • GET /me/awards?lastEvaluatedKey=… — paginated (Bearer)
    • PUT /me/handle { handle } — itakda/palitan ang handle (Bearer)
    • PUT /me/awards/{guid}/visibility { hidden: bool } — i-toggle ang hidden (Bearer)
    • POST /me/auth/forget — GDPR unbind (Bearer)
    • GET /u/{handle} — public profile (walang auth)

badges.ninja Documentation