.github
Bump the codeql-action group with 2 updates (#124)internal
initial refactor (#48)scripts
Add options-based negotiate message construction (#113).gitignore
Support user accounts not living in server's domain (#65).golangci.yml
fix linter errors (#49)authenticate_message.go
Support ntlm Key Exchange (#82)authheader.go
only perform basic auth if requested by the server (#60)avids.go
initial refactor (#48)challenge_message.go
fix linter errors (#49)E2E_README.md
testing: add e2e tests (#56)examples_test.go
Add examples using Go testing framework for HTTP and HTTPS usage (#62)go.mod
bump minimum required version to Go 1.24 (#53)LICENSE
Update LICENSEmessageheader.go
initial refactor (#48)negotiate_flags.go
bump minimum required version to Go 1.24 (#53)negotiate_message.go
Support ntlm Key Exchange (#82)negotiator_test.go
Merge commit from forknegotiator.go
Add options-based negotiate message construction (#113)nlmp_test.go
Support ntlm Key Exchange (#82)nlmp.go
Implement NewAuthenticateMessage and deprecate ProcessChallenge (#67)ntlm_e2e_test.go
Support user accounts not living in server's domain (#65)README.md
Format README links as bullet points (#70)SECURITY.md
Microsoft mandatory fileunicode.go
fix linter errors (#49)varfield.go
Merge commit from forkversion.go
initial refactor (#48)go-ntlmssp
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.
Installation
To install the package, use go get:
go get github.com/Azure/go-ntlmsspUsage
url, 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.