SPNEGO
termosegurançadesenvolvimento web
Simple and Protected GSS-API Negotiation Mechanism: o invólucro que carrega um service ticket Kerberos dentro do esquema Negotiate do HTTP, permitindo que o navegador se autentique num site silenciosamente a partir da sessão de domínio existente.
O servidor desafia com WWW-Authenticate: Negotiate; um navegador configurado para confiar no site responde com um ticket - a maquinaria vendida como Autenticação Integrada do Windows.
O SPNEGO é o invólucro de negociação que permite a cliente e servidor combinarem qual mecanismo de autenticação usar e, na prática, isso significa escolher Kerberos quando disponível e recuar para NTLM quando não. É o que faz o login único do Windows numa aplicação web funcionar sem o usuário ver um pedido de senha.
O fluxo no navegador vale conhecer porque explica as falhas. O servidor responde com um desafio Negotiate, e um navegador configurado para confiar naquele site busca um tíquete Kerberos para o serviço e o apresenta. Se qualquer parte disso falha, e as causas clássicas são um nome principal de serviço ausente ou duplicado, acesso por endereço IP em vez de nome, ou desvio de relógio, o cliente recua silenciosamente para NTLM e o usuário recebe um pedido de senha que não deveria ver.
Esse recuo silencioso é a chave do diagnóstico. Um pedido de senha num ambiente em que o login único deveria ser automático quase nunca é problema de senha: é problema de Kerberos vestido de caixa de login. Conferir primeiro o nome principal de serviço, e depois o relógio, resolve a grande maioria dos casos.
Também conhecido como: Negotiate, Integrated Windows Authentication, IWA