README.md
1# go-ntlmssp
2Golang package that provides NTLM/Negotiate authentication over HTTP
3
4[![GoDoc](https://godoc.org/github.com/Azure/go-ntlmssp?status.svg)](https://godoc.org/github.com/Azure/go-ntlmssp) [![Build Status](https://travis-ci.org/Azure/go-ntlmssp.svg?branch=dev)](https://travis-ci.org/Azure/go-ntlmssp)
5
6Protocol details from https://msdn.microsoft.com/en-us/library/cc236621.aspx
7Implementation hints from http://davenport.sourceforge.net/ntlm.html
8
9This package only implements authentication, no key exchange or encryption. It
10only supports Unicode (UTF16LE) encoding of protocol strings, no OEM encoding.
11This package implements NTLMv2.
12
13# Usage
14
15```
16url, user, password := "http://www.example.com/secrets", "robpike", "pw123"
17client := &http.Client{
18 Transport: ntlmssp.Negotiator{
19 RoundTripper:&http.Transport{},
20 },
21}
22
23req, _ := http.NewRequest("GET", url, nil)
24req.SetBasicAuth(user, password)
25res, _ := client.Do(req)
26```
27
28-----
29This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
30