package federatedloginv1

import (
	"encoding/base64"
)

func validState(value string) bool {
	if len(value) != MaxStateBytes {
		return false
	}
	decoded, err := base64.RawURLEncoding.DecodeString(value)
	if err != nil || len(decoded) != StateEntropyBytes {
		return false
	}
	return base64.RawURLEncoding.EncodeToString(decoded) == value
}
