build login callback