Response may be null if token exchange or other error occur