Lição 2

Claims JWT

Diferença entre claims registradas, públicas e privadas.

Claims JWT são campos dentro do payload. Descrevem o sujeito, emissor, audiência, limites de tempo, permissões ou fatos específicos da aplicação.

Claims registradas

Claims registradas têm nomes padronizados:

  • iss: issuer — quem emitiu o token
  • sub: subject — em geral identificador de usuário ou serviço
  • aud: audience — destinatário pretendido
  • exp: tempo de expiração
  • nbf: válido a partir de
  • iat: emitido em
  • jti: identificador do token

São opcionais no formato JWT, mas muitos sistemas reais exigem várias delas.

Claims públicas e privadas

Claims públicas são nomes compartilhados entre sistemas. Claims privadas são acordadas entre seus serviços, como role, tenantId, scope ou permissions.

Claims de tempo usam segundos Unix

Claims de tempo JWT costumam ser NumericDate: segundos desde o epoch Unix. JavaScript muitas vezes usa milissegundos — bug comum comparar claim em segundos com timestamp em ms.

Ao depurar, confira sempre o valor Unix bruto e a hora legível em UTC ou local.

Voltar à visão geral do curso