A Surpresa do IdentityServer4: Quando JWT Vira Piada
IdentityServer4 parece atraente, mas tem pegadinhas. A QuickStart UI quer que você pense que assinar JWT com o algoritmo RSA RS256 é moleza, mas é uma piada. É tipo o canudo em refrigerante, todos usam e é coisa velha.
Se você decidiu brincar com identidade, vai encarar o IdentityServer4. E logo encontrará esta armadilha na linha 7:
O comando .AddDeveloperSigningCredentials()
cria um arquivo tempkey.rsa
no seu projeto. Você entra no mundo complicado do JWK que o IdentityServer4 usa para assinar o JWT.
Acha que isso é tranquilo? Ele só cria uma chave RSA, RS256. Super fácil, né?
RSA: Um Clássico da Criptografia
RSA vem de Rivest, Shamir e Adleman, lá de 1977. Eles inovaram com chaves assimétricas: uma para criptografar e outra para descriptografar.
Com a chave assimétrica, é como um jantar com muita gente, mas você é o chef. No JWT, é quase obrigatório, pois só você pode dar a assinatura digital.
É a Melhor Escolha?
Só porque é seguro, não é o melhor. Hoje temos algorítmos mais novos. RSA é como um carro com freio antigo. As boas práticas sugerem RSASSA-PSS (PS256) ou ECDsa com P-256 e SHA-256 (ES256).
O Drama do DeveloperSigning
IdentityServer4 finge que o RSA é ótimo, mas quem trabalha em TI sabe: gerenciar Key Material em produção é um pesadelo. IdentityServer4 não escala bem porque o Key Material é problemático ao crescer.
Conclusão
Você descobriu como o IdentityServer4 complica o JWT. Seguindo essas dicas, pode evitar problemas em produção. Próxima vez, falaremos sobre Key Material para produção.