type unionAuthTokenHandler … // New returns a token authenticator that validates credentials using a chain of authenticator.Token objects. // The entire chain is tried until one succeeds. If all fail, an aggregate error is returned. func New(authTokenHandlers ...authenticator.Token) authenticator.Token { … } // NewFailOnError returns a token authenticator that validates credentials using a chain of authenticator.Token objects. // The first error short-circuits the chain. func NewFailOnError(authTokenHandlers ...authenticator.Token) authenticator.Token { … } // AuthenticateToken authenticates the token using a chain of authenticator.Token objects. func (authHandler *unionAuthTokenHandler) AuthenticateToken(ctx context.Context, token string) (*authenticator.Response, bool, error) { … }