Skip to content

Portal do destinatário

O portal do destinatário é uma área de autoatendimento em badges.ninja/me onde qualquer pessoa que tenha recebido um distintivo pode entrar (sem conta necessária), navegar por todas as credenciais recebidas via badges.ninja e montar um perfil público para compartilhá-las.

É uma experiência separada do painel do emissor:

PúblicoURLAutenticação
Emissor (quem concede distintivos)/dashboardConta real (e-mail + senha / SSO)
Destinatário (quem recebe distintivos)/meMagic link por e-mail — sem conta, sem senha
Qualquer pessoa (verificadores)/awards/<guid>, /verify/<guid>, /u/<handle>Nenhuma — totalmente pública

Por que sem senha?

Os destinatários não deveriam ter que lembrar de mais um login só para olhar os distintivos que receberam. Em vez disso, enviamos um link único por e-mail.

Como os destinatários entram

1. Informe seu e-mail

Acesse badges.ninja/me. A página mostra apenas um campo de e-mail:

Formulário de login do portal do destinatário

Informe o endereço de e-mail que recebeu os distintivos e clique em Me envie um link de acesso.

Respondemos com uma mensagem "confira sua caixa de entrada" independentemente de haver ou não concessões para o endereço. Isso evita vazar se um e-mail específico já recebeu um distintivo de qualquer emissor na plataforma.

Se houver concessões para o endereço, você recebe um e-mail com o título "Entre no seu portal do Badges Ninja" com um único botão:

Abrir meu portal

O link é válido por 24 horas e funciona apenas uma vez. Se expirar antes de você clicar, basta pedir outro — sem penalidade.

3. Você entrou

Clicar no link abre badges.ninja/me?token=…. A página troca o token por um token de sessão de 1 hora (armazenado apenas no sessionStorage do navegador, nunca em um cookie) e redireciona para o mural de distintivos. A sessão expira quando você fecha a aba ou após uma hora de atividade, o que vier primeiro.

O mural de distintivos

Após entrar, o portal exibe:

  • Seu handle no topo (ex.: badges.ninja/u/jane-3a4f) — sugerido automaticamente a partir da parte local do seu e-mail com 4 caracteres aleatórios anexados para singularidade. Clique em Alterar para escolher algo melhor.
  • Uma grade de cada distintivo concedido para seu e-mail via badges.ninja, mais novos primeiro, agrupados visualmente por cartão.
  • Ações por cartão:
    • Abrir — vai para a página pública da concessão (a mesma que emissores/verificadores veem).
    • Ocultar do perfil / Mostrar no perfil — alterna se este distintivo aparece no seu perfil público (/u/<handle>). A concessão em si permanece válida; você apenas escolhe o que é listado publicamente.

Mural de distintivos do portal do destinatário

Paginação

As concessões carregam de 50 em 50. Se você tiver mais, aparece um botão Carregar mais na base; paginamos por cursor estável no backend, então a ordem não muda enquanto você rola.

Sair

O botão Sair no cabeçalho apaga o token de sessão do sessionStorage. Fechar a aba faz o mesmo automaticamente.

Seu perfil público

Uma vez que você tem um handle, qualquer pessoa que visite badges.ninja/u/<handle> vê uma grade limpa dos seus distintivos, com seu nome de exibição e contagem de distintivos, além de cartões por distintivo que abrem a página pública da concessão ao clicar.

Perfil público do destinatário

O perfil público só mostra distintivos que você não ocultou. Você não precisa estar logado para compartilhar sua URL /u/<handle> — é uma página totalmente pública e sua.

Escolhendo um handle

Handles devem ter 3–20 caracteres, apenas a-z 0-9 _ -. Não diferenciam maiúsculas/minúsculas e são globalmente únicos no badges.ninja. Se o handle que você quer estiver em uso, você recebe um erro claro e pode escolher outro.

Você pode alterar seu handle a qualquer momento pelo portal — o novo vira a URL canônica imediatamente, e o antigo fica disponível para outra pessoa reivindicar. Links de compartilhamento existentes que você enviou (/u/handle-antigo) não redirecionam — eles dirão apenas "Perfil não encontrado".

Remover seus dados (LGPD/GDPR)

Na base do portal há um link Remover meus dados do Badges Ninja. Ele faz o seguinte:

  1. Substitui seu e-mail em cada concessão recebida por um hash opaco (ex.: removed:5f3a8b9c…). A concessão em si permanece intacta (o JSON da assertion, a imagem do distintivo, a prova em blockchain se houver) — você não invalida a credencial e os emissores ainda têm seu distintivo — mas você se torna não descobrível: buscar seu e-mail em qualquer portal não retorna nada, e seu login em /me deixa de encontrar concessões.
  2. Exclui sua linha de perfil, de modo que /u/<handle> retorna 404 e o handle fica disponível para outra pessoa.

Isso é irreversível. Você precisará de uma nova sessão de portal (ou seja, um novo magic link) apenas se mudar de ideia antes da limpeza terminar.

O que isto NÃO faz

  • Não exclui as concessões. O emissor que te concedeu ainda tem o registro. As assertions Open Badges v2 (os arquivos JSON em /awards/<guid>) continuam válidas para fins de verificação — é o que a especificação exige.
  • Se você quer que um emissor realmente exclua uma concessão (não apenas desvincular seu e-mail), entre em contato diretamente com o emissor.

Perguntas frequentes

Meu amigo diz que ganhou um distintivo, mas ele não aparece

Duas possibilidades:

  1. O emissor usou outro e-mail. Muitos emissores concedem via e-mail corporativo; tente entrar com esse também.
  2. A concessão é anterior ao recurso de portal do destinatário. Preenchemos e-mails para concessões que tinham um; mas concessões muito antigas podem ter sido emitidas sem qualquer e-mail de destinatário (~99% das concessões históricas da plataforma). Essas só podem ser vistas pela URL direta /awards/<guid>.

Posso importar distintivos do Credly / Accredible / outras plataformas?

Ainda não. O portal atualmente só mostra distintivos emitidos via badges.ninja. A agregação entre emissores (o modelo "Open Badges Backpack") foi um grande objetivo do Open Badges no início dos anos 2010, mas o ecossistema migrou para o LinkedIn como agregador de fato. Não planejamos competir nesse terreno.

Posso adicionar um distintivo ao meu perfil do LinkedIn?

Sim — toda página pública de concessão (/awards/<guid>) tem um botão Adicionar ao perfil do LinkedIn quando o emissor configurou seu ID de organização no LinkedIn. O botão usa o deep link Add-to-Profile do LinkedIn, então o distintivo cai direto na sua seção de Certificações sem copiar e colar manual.

Minhas contagens de visualização são visíveis para mim?

Cada página de concessão acompanha visualizações, compartilhamentos, downloads e cliques de "adicionar ao LinkedIn". Os emissores veem esses números no próprio painel; os destinatários os veem na página pública da concessão. Pela convenção do Credly, a identidade do visitante nunca é registrada — apenas contagens.

24 horas. Depois, peça outro — sem limite de taxa, sem penalidade.

Quanto dura a sessão?

1 hora a partir do login. Atualizar a página nessa janela mantém a sessão viva; fechar a aba a encerra.

Alguém pode ver meus distintivos ocultos?

Não. Distintivos ocultos são filtrados da visão pública /u/<handle>. Só são visíveis para você enquanto estiver logado no portal.

Posso baixar meus distintivos?

Sim — abra qualquer distintivo pelo portal e use os botões Baixar PNG (Open Badges baked) ou Baixar certificado em PDF na página pública da concessão. Ambos são assinados e verificáveis pela especificação Open Badges v2.

Como isso aparece para os emissores

O acesso ao portal pelos destinatários não muda nada para o emissor — a tabela de concessões no painel do emissor funciona exatamente igual. O portal é puramente aditivo.

Se você é emissor lendo isto e ainda não configurou seu ID de organização do LinkedIn, faça agora: Gerenciando emissores → Adicionar ao LinkedIn. É a maior alavanca individual de "taxa de compartilhamento" na plataforma.

Detalhes técnicos (para curiosos)

Para integradores / entusiastas do Open Badges
  • Modelo de autenticação: tokens HMAC sem estado. O payload do magic link é { kind: "magic", email, exp } assinado com um segredo no servidor, rotacionado via AWS Secrets Manager (recipient/keys:tokenSecret). Na verificação, emitimos um token { kind: "session", email, exp }. Sem tabela de sessões em banco.
  • Busca por e-mail: consulta o GSI RECIPIENT_EMAIL_LC-TIMESTAMP na tabela de concessões. O e-mail é normalizado para minúsculas antes do armazenamento e da busca.
  • Perfil público: cada linha de perfil guarda EMAIL_LC para que /u/<handle> possa listar concessões sem o destinatário estar logado. Concessões ocultas são filtradas no servidor.
  • Esquecer (GDPR/LGPD): reescreve RECIPIENT_EMAIL_LC de cada concessão correspondente para removed:<random> e remove o atributo em texto RECIPIENT_EMAIL via UPDATE no DynamoDB. A linha de perfil é excluída.
  • Endpoints (sem Cognito; auth por magic link):
    • POST /me/auth/request { email } — envia magic link por e-mail
    • POST /me/auth/verify { token } — retorna token de sessão
    • GET /me — perfil + primeira página de concessões (Bearer)
    • GET /me/awards?lastEvaluatedKey=… — paginado (Bearer)
    • PUT /me/handle { handle } — definir/alterar handle (Bearer)
    • PUT /me/awards/{guid}/visibility { hidden: bool } — alternar oculto (Bearer)
    • POST /me/auth/forget — desvinculação GDPR/LGPD (Bearer)
    • GET /u/{handle} — perfil público (sem auth)

badges.ninja Documentation