package auth

import (
	"fmt"
	"net/http"
)

func NewAuth0Auth(domain, clientID, auth0ClientSecret, auth0Audience string) func(r *http.Request) error {
	return func(r *http.Request) error {
		token, err := GetClientToken(domain, clientID, auth0ClientSecret, auth0Audience)
		if err != nil {
			return err
		}
		r.Header.Add("Authorization", fmt.Sprintf("bearer %s", token))
		return nil
	}
}
