Esta es una de las cosas más extrañas ...
Sigo agregando contraseñas a Keychain Access cuando inicio sesión para brindar una experiencia de tipo "SSO". Uso AppleScript para ejecutar algunos comandos de terminal que se parecen a esto †:
security add-internet-password -a $LOGNAME -j 'default' -s '$SHAREPOINT' -r htps -P 443 \
-T /Applications/Safari.app/Contents/MacOS/Safari \
-T /Applications/Microsoft\ Office\ 2011/Microsoft\ Document\ Connection.app/Contents/MacOS/Microsoft\ Document\ Connection \
-d '$SHAREPOINT' -w $PASSWORD -t 'ntlm'
Tenga en cuenta que tengo que usar la autenticación NTLM para que funcione correctamente con las aplicaciones de MS Office.
Sin embargo, cuando hago esto, obtengo un llavero que se ve así (líneas recortadas irrelevantes)
keychain: "/Users/.../Library/Keychains/login.keychain"
class: "inet"
attributes:
"ptcl"<uint32>="http"
"sdmn"<blob>="sharepoint site"
"srvr"<blob>="sharepoint site"
"atyp"<blob>="mltn"
Tenga en cuenta que el valor para atyp
"ntlm" se invirtió a mltn. Cuando intento conectarme a Sharepoint no funciona. Sin embargo, si uso el mismo comando pero cambio la última parte a -t 'mltn'
, ¡entonces funciona!
keychain: "/Users/.../Library/Keychains/login.keychain"
class: "inet"
attributes:
"ptcl"<uint32>="http"
"sdmn"<blob>="sharepoint site"
"srvr"<blob>="sharepoint site"
"atyp"<blob>="ntlm"
¡Vea aquí que atyp
se ha revertido a 'ntlm' que permite que las aplicaciones de MS Office inicien sesión!
Tengo una solución, pero ciertamente me siento muy mal al usarla. ¿Hay algo que estoy haciendo mal aquí?
† La variable $ PASSWORD en realidad se recupera al pedirle al usuario un cuadro de diálogo para que pueda escribirla una vez y realizar una autenticación previa de varios sitios web importantes en una sola toma.