code: func NewAuthorizer(manager challenge.Manager, handlers ...AuthenticationHandler) transport.RequestModifier {
  	return &endpointAuthorizer{
  		challenges: manager,
  		handlers:   handlers,
  	}
  }
docs: // NewAuthorizer creates an authorizer which can handle multiple authentication
  // schemes. The handlers are tried in order, the higher priority authentication
  // methods should be first. The challengeMap holds a list of challenges for
  // a given root API endpoint (for example "https://registry-1.docker.io/v2/").