authentication - example - Problemas de autenticación con WWW-Authenticate: Negociar
post header authorization basic (2)
Estoy intentando acceder a un sitio que está protegido con contraseña. No utiliza la autenticación básica (aunque aparezca el mismo cuadro de usuario / contraseña en Firefox) ya que el encabezado de respuesta es WWW-Authenticate: Negotiate
.
Deseo automatizar el proceso de inicio de sesión enviando el encabezado correcto.
En básico, usarías algo como:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
¿Qué usaría para negociar?
El servidor web le está solicitando un token SPNEGO ( Mecanismo de negociación GSSAPI simple y protegido ).
Esta es una invención de Microsoft para negociar un tipo de autenticación para usar con SSO web (inicio de sesión único):
- ya sea NTLM
- o Kerberos.
Ver:
Poniendo esta información aquí para beneficio de futuros lectores.
Cabecera de respuesta 401 (no autorizada) -> Solicitar encabezado de autenticación
Aquí hay varios encabezados de respuesta
WWW-Authenticate
. (La lista completa se encuentra en IANA: Esquemas de autenticación HTTP ).-
WWW-Authenticate: Basic
-> Authorization: Basic + token - Use para autenticación básica -
WWW-Authenticate: NTLM
-> Authorization: NTLM + token (2 desafíos) -
WWW-Authenticate: Negotiate
-> Authorization: Negotiate + token - utilizado para la autenticación Kerberos- Dicho sea de paso: IANA tiene este enfadado comentario sobre
Negotiate
: este esquema de autenticación viola tanto la semántica HTTP (que está orientada a la conexión) como la sintaxis (uso de sintaxis incompatible con la sintaxis del campo de cabecera WWW-Authenticate and Authorization).
- Dicho sea de paso: IANA tiene este enfadado comentario sobre
-
Puede configurar la Authorization: Basic
encabezado Authorization: Basic
solo cuando también tiene el encabezado WWW-Authenticate: Basic
en su desafío 401.
Pero dado que tiene WWW-Authenticate: Negotiate
esto debería ser el caso para la autenticación basada en Kerberos.