My approach would be:
1) Create 1 main user table for your apps, while retain the other apps membership table. (for the usage of diff apps itself).
2) When user signup, auto insert the necessarily member details to each apps's member table.
3) try to maintain 1 single login page only. If is a valid user, create a custom function, which will grant to permission to access diff apps, instead of diff login screen.
My approach would be save time while integrate all the different apps, instead of spending time to modify the complicated login process.