Postmortem: mudança inesperada de `iss` em JWT
Relatório de incidente para a mudança inesperada de `iss` em JWT a 18-03-2024.
Relatório de incidente para a mudança inesperada de `iss` em JWT a 18-03-2024.
A 18-03-2024, uma atualização que alterou o comportamento do emissor de JWT no Logto Cloud interrompeu os fluxos de autenticação para utilizadores com domínios personalizados e validação de iss. A correção exigiu que esses utilizadores atualizassem a sua lógica de validação.
iss.iss dentro dos fluxos de autenticação.A atualização alterou o campo iss para corresponder ao domínio solicitado, interrompendo validações existentes que esperavam o emissor padrão anterior.
iss.O Logto Cloud suporta domínios personalizados para autenticação, os desenvolvedores que têm locatários com domínio personalizado ativado podem definir o ponto final para o domínio personalizado nos SDKs, então o usuário final usará este ponto final para iniciar o processo de autenticação e obter tokens. Alguns tokens estão na forma de JWT, que inclui um campo iss indicando o emissor deste token. Anteriormente, mesmo quando um ponto final de domínio personalizado era usado para solicitar um token de acesso, o emissor ainda seria, por padrão, o nosso domínio padrão ([tenant-id].logto.app).
Mas o domínio do emissor deve ser o mesmo que o ponto final solicitado. Então lançámos uma atualização para corrigir este problema, e agora o campo iss refletirá automaticamente o domínio usado no pedido.
Para aqueles que já estão usando um domínio personalizado para conceder tokens e implementaram a validação do campo iss no servidor de recursos, isso poderia ser uma alteração incompatível. A verificação de autenticação existente falhará devido à mudança do emissor. Para corrigir isso, os desenvolvedores precisam alterar o código de validação, substituindo o emissor esperado pelo novo com domínio personalizado.
Falhámos em considerar totalmente o impacto nas validações de iss existentes, como resultado, esta atualização tornou-se uma mudança incompatível sem notificação prévia.
Notificámos os utilizadores afetados por email, aconselhando-os a atualizar a sua validação de iss para corresponder ao domínio solicitado.
A mudança é uma correção necessária para o campo do emissor, e alguns usuários podem já ter se adaptado ao novo comportamento. Uma reversão causaria confusão e inconsistência.