split example in 3: login, callback & get profile