Português (PT)
Português (PT)
Appearance
Português (PT)
Português (PT)
Appearance
O portal do destinatário é uma área de auto-atendimento em badges.ninja/me onde qualquer pessoa a quem tenha sido atribuído um distintivo pode iniciar sessão (sem conta), percorrer todas as credenciais recebidas através do badges.ninja e montar um perfil público para as partilhar.
É uma experiência distinta do painel do emissor:
| Público | URL | Autenticação |
|---|---|---|
| Emissor (quem atribui distintivos) | /dashboard | Conta real (e-mail + palavra-passe / SSO) |
| Destinatário (quem ganha distintivos) | /me | Ligação mágica por e-mail — sem conta, sem palavra-passe |
| Qualquer pessoa (verificadores) | /awards/<guid>, /verify/<guid>, /u/<handle> | Nenhuma — totalmente pública |
Porquê sem palavra-passe?
Os destinatários não deveriam ter de memorizar mais um início de sessão só para ver os distintivos que lhes foram dados. Em vez disso, enviamos-lhes por e-mail uma ligação de uso único.
Visite badges.ninja/me. A página mostra um único campo de e-mail:

Introduza o endereço de e-mail que recebeu os distintivos e clique em Enviar-me uma ligação de sessão.
Respondemos com uma mensagem do tipo "verifique a caixa de entrada", independentemente de existirem ou não atribuições para esse endereço. Assim evitamos revelar se um dado e-mail já recebeu algum distintivo de algum emissor da plataforma.
Se existirem atribuições para o endereço, recebe um e-mail intitulado "Sign in to your Badges Ninja portal" com um único botão:
Open my portal
A ligação é válida durante 24 horas e pode ser reutilizada as vezes que quiser dentro dessa janela — não é consumida no primeiro clique. Passadas as 24 horas, basta pedir outra — sem penalização.
Clicar na ligação abre badges.ninja/me?token=…. A página troca o token por um token de sessão (guardado apenas em sessionStorage do navegador, nunca em cookie) e reencaminha-o para o mural de distintivos. A sessão tem uma duração fixa de 1 hora a partir do momento em que é emitida — não é prolongada pela actividade — e é também limpa quando fecha o separador, o que ocorrer primeiro.
Após iniciar sessão, o portal mostra:
badges.ninja/u/jane-3a4f) — sugerido automaticamente a partir da parte local do e-mail, com 4 caracteres aleatórios para garantir unicidade. Clique em Alterar para escolher algo mais bonito./u/<handle>). A atribuição em si mantém-se válida; apenas escolhe o que aparece listado publicamente.
O mural de distintivos mostra as suas 50 atribuições mais recentes, das mais recentes para as mais antigas. Não existe controlo de paginação no portal — se tiver mais de 50 credenciais, as restantes continuam acessíveis através das ligações directas /awards/<guid> e do seu perfil público /u/<handle>.
O botão Terminar sessão no cabeçalho limpa o token de sessão do sessionStorage. Fechar o separador faz o mesmo automaticamente.
Quando tiver um identificador, quem visitar badges.ninja/u/<handle> vê uma grelha limpa dos seus distintivos, com o seu nome, a contagem de distintivos e cartões individuais que abrem a página pública de atribuição ao clique.

O perfil público mostra apenas os distintivos que não foram ocultados. Não precisa de iniciar sessão para partilhar o seu URL /u/<handle> — é uma página totalmente pública que lhe pertence.
Os identificadores têm de ter 3 a 20 caracteres, apenas a-z 0-9 _ -. São insensíveis a maiúsculas/minúsculas e globalmente únicos no badges.ninja. Se o identificador que pretende já estiver ocupado, recebe uma mensagem clara e pode escolher outro.
Pode alterar o identificador em qualquer momento a partir do portal — o novo torna-se imediatamente o URL canónico e o antigo fica disponível para outra pessoa o reclamar. As ligações já enviadas (/u/old-handle) não são reencaminhadas — indicam apenas "Perfil não encontrado".
No fundo do portal existe a ligação Remover os meus dados do Badges Ninja. Ao clicar, é-lhe pedida uma confirmação, é chamado o endpoint POST /me/auth/forget e, em seguida, a sua sessão é terminada. Esta faz o seguinte:
removed:5f3a8b9c…). A atribuição mantém-se intacta (o JSON da assertion, a imagem do distintivo, a prova blockchain, se existir) pelo que não invalida a credencial — o emissor continua com o seu distintivo — mas fica não rastreável: procurar pelo seu e-mail em qualquer portal não devolve resultados e o início de sessão em /me deixa de encontrar atribuições./u/<handle> devolve 404 e o identificador fica disponível para outra pessoa.Esta acção é irreversível. Para voltar a usar o portal depois disso, teria de receber um novo distintivo e pedir uma nova ligação mágica.
O que isto NÃO faz
/awards/<guid>) continuam válidas para efeitos de verificação — é o que a norma define.Duas possibilidades:
/awards/<guid>.Ainda não. O portal mostra actualmente apenas distintivos emitidos através do badges.ninja. A agregação entre emissores (o modelo "Open Badges Backpack") foi um grande objectivo do Open Badges no início da década de 2010, mas o ecossistema mais amplo migrou para o LinkedIn como agregador de facto. Não planeamos concorrer nessa frente.
Sim — cada página pública de atribuição (/awards/<guid>) tem sempre um botão Adicionar ao perfil do LinkedIn. O botão utiliza a ligação profunda Add-to-Profile do LinkedIn, pelo que o distintivo aparece directamente na secção de Certificações, sem copiar e colar manual. Se o emissor tiver configurado um ID de organização no LinkedIn, o LinkedIn preenche automaticamente a Página de Empresa verificada; caso contrário, utiliza o nome do emissor.
Não. Cada página de atribuição regista visualizações, partilhas, transferências e cliques de adição ao LinkedIn, mas essas contagens só são mostradas ao emissor, no seu painel. Os destinatários não veem contagens de visualizações nem de partilhas em lado nenhum — nem no portal nem na página pública da atribuição. Segundo a convenção do Credly, a identidade de quem vê nunca é registada — apenas as contagens agregadas.
24 horas. Depois, peça uma nova — sem limites de pedido, sem penalização.
1 hora a partir do início de sessão. Recarregar a página dentro dessa janela mantém a sessão activa; fechar o separador termina-a.
Não. Os distintivos ocultos são filtrados da vista pública em /u/<handle>. Só são visíveis para si enquanto estiver com sessão iniciada no portal.
Sim — abra qualquer distintivo a partir do portal e use depois o menu Transferir na página pública de atribuição. Imagem do distintivo dá-lhe o PNG original do distintivo (a arte em bruto directamente do IPFS — não é um ficheiro Open Badges "baked" e não contém qualquer assinatura incorporada), e Certificado dá-lhe um PDF A4 pronto a imprimir. A verificação é feita através da página hospedada /verify/<guid> e do JSON da assertion Open Badge v2, e não por dados incorporados na imagem.
A utilização do portal pelos destinatários não altera nada para o emissor — a tabela de atribuições no painel do emissor funciona exactamente da mesma forma. O portal é puramente aditivo.
Se é emissor a ler isto e ainda não definiu o ID da sua organização no LinkedIn, faça-o agora: Gerir emissores → Adicionar ao perfil do LinkedIn. É a maior alavanca de "taxa de partilha" da plataforma.
{ kind: "magic", email, exp } assinado com um segredo do servidor rotacionado via AWS Secrets Manager (recipient/keys:tokenSecret). Na verificação, geramos um token { kind: "session", email, exp }. Não existe tabela de sessão na base de dados.RECIPIENT_EMAIL_LC-TIMESTAMP na tabela de atribuições. O e-mail é normalizado para minúsculas antes do armazenamento e da pesquisa.EMAIL_LC para que /u/<handle> possa listar atribuições sem o destinatário ter sessão iniciada. As atribuições ocultas são filtradas do lado do servidor.RECIPIENT_EMAIL_LC igual a removed:<random> e remove o atributo em claro RECIPIENT_EMAIL via UPDATE do DynamoDB. A linha de perfil é eliminada.POST /me/auth/request { email } — envia a ligação mágica por e-mailPOST /me/auth/verify { token } — devolve o token de sessãoGET /me — perfil + primeira página de atribuições (Bearer)GET /me/awards?lastEvaluatedKey=… — paginado (Bearer)PUT /me/handle { handle } — definir/alterar identificador (Bearer)PUT /me/awards/{guid}/visibility { hidden: bool } — alternar ocultação (Bearer)POST /me/auth/forget — desvinculação RGPD (Bearer)GET /u/{handle} — perfil público (sem autenticação)