Go package that provides NTLM/Negotiate authentication over HTTP
- NTLM protocol details from https://msdn.microsoft.com/en-us/library/cc236621.aspx
- NTLM over HTTP details from https://datatracker.ietf.org/doc/html/rfc4559
- Implementation hints from http://davenport.sourceforge.net/ntlm.html
This package only implements authentication, no key exchange or encryption. It only supports Unicode (UTF16LE) encoding of protocol strings, no OEM encoding. This package implements NTLMv2.
To install the package, use go get:
go get github.com/Azure/go-ntlmsspurl, user, password := "http://www.example.com/secrets", "robpike", "pw123"
client := &http.Client{
Transport: ntlmssp.Negotiator{
RoundTripper: &http.Transport{},
},
}
req, _ := http.NewRequest("GET", url, nil)
req.SetBasicAuth(user, password)
res, _ := client.Do(req)This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.