implement require auth APIs