# Gerador de JWT

Crie um Web Token JSON assinado com suas próprias declarações JSON. Escolha HS256, HS384 ou HS512 com um segredo compartilhado, RS256 a PS512 com uma chave privada RSA, ES256 a ES512 com a chave EC correspondente, ou EdDSA com uma chave Ed25519, fornecida como PEM ou JWK. O gerador pode adicionar iat, exp e um cabeçalho kid, assina com a biblioteca jose e exibe o token compacto ao lado do cabeçalho e da carga útil decodificados.

## Perguntas frequentes

### Quais algoritmos de assinatura posso usar?

O gerador é compatível com HS256, HS384 e HS512 usando um segredo compartilhado; RS256, RS384, RS512, PS256, PS384 e PS512 usando uma chave privada RSA; ES256, ES384 e ES512 usando uma chave privada EC em P-256, P-384 ou P-521; e EdDSA usando uma chave privada Ed25519. O algoritmo escolhido é gravado no cabeçalho alg, e typ é sempre definido como JWT.

### O que devo inserir como carga útil?

Insira um objeto JSON com suas declarações, por exemplo, sub, name, iss, aud ou qualquer membro personalizado. Matrizes, strings e outros valores que não sejam objetos são rejeitados, porque uma carga útil JWT precisa ser um objeto JSON. A ordem e os valores das declarações são mantidos exatamente como você os escreveu.

### Como o segredo HMAC é lido?

Para HS256, HS384 e HS512, o segredo é usado como texto UTF-8 após a remoção dos espaços em branco no início e no fim. Se o seu segredo for binário, cole-o como um JWK, por exemplo {"kty": "oct", "k": "..."}, com os bytes em base64url; nesse caso, os bytes decodificados serão usados. Chaves PEM são recusadas para algoritmos HMAC, pois usar uma chave pública como segredo HMAC é um erro clássico.

### Qual deve ser o tamanho de um segredo HS256?

A RFC 7518 exige uma chave com pelo menos o mesmo tamanho da saída do hash: 32 bytes para HS256, 48 para HS384 e 64 para HS512. A ferramenta assina com segredos mais curtos para que você possa reproduzir tokens de teste, mas segredos de produção devem ser valores aleatórios longos, por exemplo, gerados pelo Password Generator.

### Quais formatos de chave privada são aceitos para RSA, EC e EdDSA?

Cole uma chave privada PEM não criptografada no formato PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) ou SEC1 (BEGIN EC PRIVATE KEY), ou uma JWK privada que contenha o membro d. Arquivos PEM criptografados e chaves privadas OpenSSH não são lidos. A chave precisa ser compatível com o algoritmo; por isso, ES384 requer uma chave P-384 e chaves RSA precisam ter pelo menos 2048 bits.

### Como iat e exp são definidos?

Quando a opção de data de emissão está ativada, iat recebe a hora atual, a menos que sua carga útil já tenha uma declaração iat. Quando a expiração é maior que 0 segundos, exp recebe a hora atual mais esse número de segundos e substitui qualquer exp na sua carga útil. Com expiração igual a 0, nenhum exp é adicionado e o exp da sua carga útil é mantido.

### Para que serve o campo kid?

Um ID de chave não vazio é gravado no cabeçalho kid para que os verificadores possam escolher a chave correta em um JWKS. Se você colar um JWKS como chave de assinatura, kid também selecionará qual chave do conjunto assinará o token. O JWK Converter e os geradores de chave mostram a impressão digital RFC 7638, que funciona bem como kid.

### O que o resultado contém?

Você recebe o token compacto, o algoritmo, o ID da chave, os horários de emissão e expiração em UTC e o cabeçalho e a carga útil JSON exatos que foram assinados. Copie o token do primeiro bloco. Depois, decodifique-o com o JWT Decoder ou confira-o com o JWT Verifier.

### Meus segredos ou chaves são armazenados?

Não. O segredo ou a chave privada é enviado apenas na solicitação que assina o token, usado uma vez na memória e nunca registrado em logs ou salvo. Ainda assim, prefira chaves de teste para experimentos e nunca cole uma chave de assinatura de produção em qualquer ferramenta da Web, a menos que você controle o servidor.

### Há limites de tamanho?

A carga útil pode ter até 65,536 caracteres, a chave até 65,536 caracteres e kid até 256 caracteres. Os valores de expiração vão de 0 a 315,360,000 segundos, o equivalente a dez anos. Entradas mais longas são rejeitadas com uma mensagem que identifica o campo.

Seu anúncio aqui?

[Envie-nos um e-mail](mailto:hi@dennn.is?subject=Publicidade%20em%20OneClick%20Pro)

[Anúncio O conjunto de plugins pronto para agentes para WordPress.](https://sleekwp.com/?ref=oneclickpro)
