certauth.go
func (a *Auth) Process(w http.ResponseWriter, r *http.Request) error {
	if err := a.ValidateRequest(r); err != nil {
		return err
	}

	// Validate OU
	if len(a.opt.AllowedOUs) > 0 {
		err := a.ValidateOU(r.TLS.VerifiedChains[0][0])
		if err != nil {
			a.authErrHandler.ServeHTTP(w, r)
			return err
		}
	}

	// Validate CN
	if len(a.opt.AllowedCNs) > 0 {
		err := a.ValidateCN(r.TLS.VerifiedChains[0][0])
		if err != nil {
			a.authErrHandler.ServeHTTP(w, r)
			return err
		}
	}
	return nil
}
func (a *Auth) Process(w http.ResponseWriter, r *http.Request) error {
	if err := a.ValidateRequest(r); err != nil {
		return err
	}

	// Validate OU
	if len(a.opt.AllowedOUs) > 0 {
		err := a.ValidateOU(r.TLS.VerifiedChains[0][0])
		if err != nil {
			a.authErrHandler.ServeHTTP(w, r)
			return err
		}
	}

	// Validate CN
	if len(a.opt.AllowedCNs) > 0 {
		err := a.ValidateCN(r.TLS.VerifiedChains[0][0])
		if err != nil {
			a.authErrHandler.ServeHTTP(w, r)
			return err
		}
	}
	return nil
}
// Process is the main Entrypoint