Skip to content

Go middleware which integrates with the Windows authentication token received from HttpPlatformHandler.

License

Notifications You must be signed in to change notification settings

etitcombe/windowsauthmw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

windowsauthmw

A Go middleware which adds the Windows domain and user name to the request context. It assumes the web application is running under IIS via the HttpPlatformHandler.

It is based on windowsauthtoken by Michael Collins.

There is currently only one method: AddDomainUser which takes and returns an http.Handler.

Wrap your mux with it at the beginning or close to the beginning of your middleware chain. You'll want this invoked early so that the information is added to the Context before you need to use it.

srv := &http.Server{Addr: fmt.Sprintf(":%d", port), Handler: windowsauthmw.AddDomainUser(mux)}

The middlware adds the domain and user name to the context in this format: Domain\Username

It doesn't offer a way to get the value out of the context. That is the responsibility of the application code. Use the provided DomainUserKey to get the value from the context:

ctx := r.Context()
domainUser := ctx.Value(windowsauthmw.DomainUserKey).(string)

About

Go middleware which integrates with the Windows authentication token received from HttpPlatformHandler.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages