func SetBaseURL(baseURL string) AuthenticatorOption {
	return func(d *DeviceAuthenticator) error {
		parsedURL, err := url.Parse(baseURL)
		if err != nil {
			return err
		}
		d.BaseURL = parsedURL
		return nil
	}
}
SetBaseURL overrides the base URL for the DeviceAuthenticator.
package auth
import (
	"context"
	"encoding/json"
	"fmt"
	"io"
	"net/http"
	"net/url"
	"strings"
	"time"
	"github.com/benbjohnson/clock"
	"github.com/hashicorp/go-cleanhttp"
	"github.com/pkg/errors"
)
const (
	DefaultBaseURL = "https://auth.planetscale.com/"
	OAuthClientID  = "wzzkYKOfRcxFAiMgDgfbhO9yIikNIlt9-yhosmvPBQA"
	OAuthClientSecret = "eIDdgw21BYsovcrpC4iKZQ0o7ol9cN1LsSr8fuNyg5o"
	formMediaType = "application/x-www-form-urlencoded"
	jsonMediaType = "application/json"
)
type Authenticator interface {
	VerifyDevice(ctx context.Context) (*DeviceVerification, error)
	GetAccessTokenForDevice(ctx context.Context, v *DeviceVerification) (string, error)
	RevokeToken(ctx context.Context, token string) error
}
var _ Authenticator = (*DeviceAuthenticator)(nil)
type AuthenticatorOption func(c *DeviceAuthenticator) error