add method for Authenticate using a custom provider