auth provider react typescript