Español (ES)
Español (ES)
Appearance
Español (ES)
Español (ES)
Appearance
El portal del destinatario es un área de autoservicio en badges.ninja/me donde cualquier persona que haya recibido una insignia puede iniciar sesión (sin necesidad de cuenta), navegar por todas las credenciales que ha recibido a través de badges.ninja y preparar un perfil público para compartirlas.
Es una experiencia independiente del panel del emisor:
| Audiencia | URL | Autenticación |
|---|---|---|
| Emisor (quien otorga insignias) | /dashboard | Cuenta real (correo + contraseña / SSO) |
| Destinatario (quien obtiene insignias) | /me | Enlace mágico por correo — sin cuenta, sin contraseña |
| Cualquiera (verificadores) | /awards/<guid>, /verify/<guid>, /u/<handle> | Ninguna — totalmente pública |
¿Por qué sin contraseña?
Los destinatarios no deberían tener que recordar otro inicio de sesión solo para mirar las insignias que les han dado. En su lugar, les enviamos un enlace único por correo.
Visita badges.ninja/me. La página muestra un único campo de correo:

Introduce la dirección de correo que ha recibido las insignias y haz clic en Envíame un enlace de inicio de sesión.
Respondemos con un mensaje de "revisa tu bandeja" independientemente de que existan o no otorgamientos para esa dirección. Así evitamos filtrar si un correo concreto ha recibido alguna insignia de cualquier emisor en la plataforma.
Si hay otorgamientos para esa dirección, recibes un correo titulado "Inicia sesión en tu portal de Badges Ninja" con un único botón:
Abrir mi portal
El enlace es válido durante 24 horas y puede reutilizarse tantas veces como quieras dentro de esa ventana — no se consume en el primer clic. Una vez pasadas las 24 horas, solicita uno nuevo — no hay penalización.
Pulsar el enlace abre badges.ninja/me?token=…. La página intercambia el token por un token de sesión (guardado solo en el sessionStorage de tu navegador, nunca en una cookie) y te redirige al muro de insignias. La sesión tiene una duración fija de 1 hora desde el momento en que se emite — no se prolonga con la actividad — y también se borra cuando cierras la pestaña, lo que ocurra antes.
Una vez iniciada la sesión, el portal muestra:
badges.ninja/u/jane-3a4f) — sugerido automáticamente a partir de la parte local de tu correo con 4 caracteres aleatorios al final para ser único. Haz clic en Cambiar para elegir algo más bonito./u/<handle>). El otorgamiento sigue siendo válido; solo decides qué se lista públicamente.
El muro de insignias muestra tus 50 otorgamientos más recientes, los más nuevos primero. No hay control de paginación en el portal — si tienes más de 50 credenciales, el resto sigue siendo accesible a través de sus enlaces directos /awards/<guid> y de tu perfil público /u/<handle>.
El botón Cerrar sesión de la cabecera borra el token de sesión de sessionStorage. Cerrar la pestaña hace automáticamente lo mismo.
Una vez tengas un handle, cualquiera que visite badges.ninja/u/<handle> verá una cuadrícula limpia de tus insignias, con tu nombre visible y la cuenta de insignias, además de tarjetas por insignia que al hacer clic abren la página pública del otorgamiento.

El perfil público solo muestra las insignias que no hayas ocultado. No necesitas iniciar sesión para compartir tu URL /u/<handle> — es una página totalmente pública que te pertenece.
Los handles deben tener entre 3 y 20 caracteres, solo a-z 0-9 _ -. No distinguen mayúsculas y son globalmente únicos en badges.ninja. Si el handle que quieres está cogido, recibirás un error claro y podrás elegir otro.
Puedes cambiar tu handle en cualquier momento desde el portal — el nuevo pasa a ser la URL canónica al instante, y el antiguo queda disponible para que otra persona lo reclame. Los enlaces de compartición existentes que hayas enviado (/u/handle-antiguo) no redirigen — simplemente dirán "Perfil no encontrado".
Al final del portal hay un enlace Eliminar mis datos de Badges Ninja. Al hacer clic se te pide confirmación, se llama al endpoint POST /me/auth/forget y luego se cierra tu sesión. Hace lo siguiente:
removed:5f3a8b9c…). El otorgamiento en sí permanece intacto (el JSON del assertion, la imagen de la insignia, la prueba blockchain si la hay), así que no invalidas la credencial — los emisores siguen teniendo tu insignia — pero pasas a ser no descubrible: buscar tu correo en cualquier portal no da resultados, y tu inicio de sesión en /me deja de encontrar otorgamientos./u/<handle> devuelve 404 y el handle queda disponible para otra persona.Esto es irreversible. Para volver a usar el portal después tendrías que recibir una nueva insignia y solicitar un nuevo enlace mágico.
Lo que esto NO hace
/awards/<guid>) siguen siendo válidas con fines de verificación — así lo indica la especificación.Dos posibilidades:
/awards/<guid>.Aún no. Actualmente el portal solo muestra insignias emitidas a través de badges.ninja. La agregación entre emisores (el modelo "Open Badges Backpack") fue un objetivo mayor de Open Badges a principios de los 2010, pero el ecosistema se movió a LinkedIn como agregador de facto. No planeamos competir en ese terreno.
Sí — cada página pública de otorgamiento (/awards/<guid>) tiene siempre un botón Añadir al perfil de LinkedIn. El botón usa el deep link Add-to-Profile de LinkedIn, así que la insignia aterriza directamente en tu sección de Certificaciones sin copiar y pegar a mano. Si el emisor ha configurado un ID de organización en LinkedIn, LinkedIn rellena automáticamente la Página de empresa verificada; de lo contrario, usa el nombre del emisor.
No. Cada página de otorgamiento rastrea vistas, veces compartidas, descargas y clics de "añadir a LinkedIn", pero esos conteos solo se muestran al emisor en su panel. Los destinatarios no ven conteos de vistas ni de veces compartidas en ningún sitio — ni en el portal ni en la página pública del otorgamiento. Siguiendo la convención de Credly, la identidad del visitante nunca se registra — solo conteos agregados.
24 horas. Después solicita uno nuevo — sin límites de velocidad, sin penalización.
1 hora desde el inicio de sesión. Refrescar la página dentro de esa ventana mantiene la sesión viva; cerrar la pestaña la termina.
No. Las insignias ocultas se filtran en la vista pública /u/<handle>. Solo son visibles para ti mientras tengas sesión iniciada en el portal.
Sí — abre cualquier insignia desde el portal y luego usa el desplegable Download en la página pública de otorgamiento. Badge image te da el PNG original de la insignia (la imagen en bruto directamente desde IPFS — no es un archivo Open Badges "baked" y no lleva firma incrustada), y Certificate te da un PDF A4 listo para imprimir. La verificación se realiza a través de la página alojada /verify/<guid> y el JSON del assertion de Open Badge v2, no mediante datos incrustados en la imagen.
El acceso al portal por parte de los destinatarios no cambia nada para el emisor — la tabla de otorgamientos en su panel funciona exactamente igual. El portal es puramente aditivo.
Si eres emisor leyendo esto y aún no has configurado tu ID de organización de LinkedIn, hazlo ya: Gestionar emisores → Añadir a LinkedIn. Es la palanca de "tasa de compartición" más grande de la plataforma.
{ kind: "magic", email, exp } firmada con un secreto del servidor rotado vía AWS Secrets Manager (recipient/keys:tokenSecret). Al verificar, emitimos un token { kind: "session", email, exp }. Sin tabla de sesiones en base de datos.RECIPIENT_EMAIL_LC-TIMESTAMP en la tabla de otorgamientos. El correo se normaliza a minúsculas antes de almacenarse y de consultarse.EMAIL_LC para que /u/<handle> pueda listar otorgamientos sin que el destinatario inicie sesión. Los otorgamientos ocultos se filtran en el servidor.RECIPIENT_EMAIL_LC de cada fila de otorgamiento coincidente a removed:<random> y elimina el atributo de texto plano RECIPIENT_EMAIL con un UPDATE de DynamoDB. Se borra la fila de perfil.POST /me/auth/request { email } — envía el enlace mágicoPOST /me/auth/verify { token } — devuelve el token de sesiónGET /me — perfil + primera página de otorgamientos (Bearer)GET /me/awards?lastEvaluatedKey=… — paginado (Bearer)PUT /me/handle { handle } — establecer/cambiar handle (Bearer)PUT /me/awards/{guid}/visibility { hidden: bool } — alternar oculto (Bearer)POST /me/auth/forget — desvinculación RGPD (Bearer)GET /u/{handle} — perfil público (sin autenticación)