README

This package provides a Basic Authentication middleware.

It'll try to compare credentials from Authentication request header to a username/password pair in middleware constructor.

More details about this type of authentication can be found in Mozilla article.

Usage

import httptransport "github.com/go-kit/kit/transport/http"

httptransport.NewServer(
		AuthMiddleware(cfg.auth.user, cfg.auth.password, "Example Realm")(makeUppercaseEndpoint()),
		decodeMappingsRequest,
		httptransport.EncodeJSONResponse,
		httptransport.ServerBefore(httptransport.PopulateRequestContext),
	)

For AuthMiddleware to be able to pick up the Authentication header from an HTTP request we need to pass it through the context with something like httptransport.ServerBefore(httptransport.PopulateRequestContext).

Expand ▾ Collapse ▴

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthMiddleware

func AuthMiddleware(requiredUser, requiredPassword, realm string) endpoint.Middleware

    AuthMiddleware returns a Basic Authentication middleware for a particular user and password.

    Types

    type AuthError

    type AuthError struct {
    	Realm string
    }

      AuthError represents an authorization error.

      func (AuthError) Error

      func (AuthError) Error() string

        Error is an implementation of the Error interface.

        func (AuthError) Headers

        func (e AuthError) Headers() http.Header

          Headers is an implementation of the Headerer interface in go-kit/http.

          func (AuthError) StatusCode

          func (AuthError) StatusCode() int

            StatusCode is an implementation of the StatusCoder interface in go-kit/http.

            Source Files