Português (BR)
Português (BR)
Appearance
Português (BR)
Português (BR)
Appearance
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úblico | URL | Autenticação |
|---|---|---|
| Emissor (quem concede distintivos) | /dashboard | Conta real (e-mail + senha / SSO) |
| Destinatário (quem recebe distintivos) | /me | Magic 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.
Acesse badges.ninja/me. A página mostra apenas um campo de e-mail:

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.
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.
Após entrar, o portal exibe:
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./u/<handle>). A concessão em si permanece válida; você apenas escolhe o que é listado publicamente.
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.
O botão Sair no cabeçalho apaga o token de sessão do sessionStorage. Fechar a aba faz o mesmo automaticamente.
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.

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.
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".
Na base do portal há um link Remover meus dados do Badges Ninja. Ele faz o seguinte:
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./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
/awards/<guid>) continuam válidas para fins de verificação — é o que a especificação exige.Duas possibilidades:
/awards/<guid>.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.
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.
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.
1 hora a partir do login. Atualizar a página nessa janela mantém a sessão viva; fechar a aba a encerra.
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.
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.
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.
{ 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.RECIPIENT_EMAIL_LC-TIMESTAMP na tabela de concessões. O e-mail é normalizado para minúsculas antes do armazenamento e da busca.EMAIL_LC para que /u/<handle> possa listar concessões sem o destinatário estar logado. Concessões ocultas são filtradas no servidor.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.POST /me/auth/request { email } — envia magic link por e-mailPOST /me/auth/verify { token } — retorna token de sessãoGET /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)