We got multiple small websites (microsites) and one main high traffic one with big users base. Right now the requirement is to build authentication system which should allow users to loign with the same identity across the network.
All website are running on different domains, powered by Drupal 6 CMS and have separate databases (so sharing tables with prefix is not an option + it creates a huge mess in the db).
Here is the set of core requirements I came up with:
- Users should be able to login with the same credentials to all sites within the network
- User’s data sharing between Main site (storage) and all micro sites within the network
- Data synchronization across the network when user changes the data (update email or password for example)
- The login/registration process should be seamless and consistent
- Register on any of the sites across the network and use that identity to login later on.
In the future there might be a need to add openid authentication options.
Basically we are looking at something similar stackexchange does, but not sure if they have central users base on not.
I was thinking about custom solution which will include 2 parts (modules), one will be stored on the Main site for users data storing and responding to requests from clients. Second part (module) will be placed on each microsite, which is going to send requests to the Master. Some kind of client - server setup.
One of the complications I see right away is #3. Data Synhcronization across the network.
I just don't want to reinvent the wheel and maybe some work is already done in this direction.
Looking forward to your ideas on how to approach this project.
We use MySQL database