I need to share user credentials across multiple django apps. Each app is completely different and serves different purposes, but I want a user to only have to register once in order to use any of the apps.
I have managed to set this up by defining multiple schemas in my Postgres db. As far as I could find on the web schemas are not supported in Django explicitly but I did get it to work (mostly) by just defining a different search path for each app (each app uses its own username to connect to Postgres).
I have the following schemas (as an example):
- auth
- app1
- app2
- app3
- common
So an app's user's search path might look something like this:
app1, common, auth
Everything seems to work fine, except the registration functionality provided by django-registration. When I try to register a new user it creates a new row in the auth_user table as well as the registration_registrationprofile tables (both reside in the auth schema). The activation email is also sent, but when I click on the activation link I get a message that "Account activation failed". No other info.
Has anyone else seen this and maybe have a solution to get activation working in a setup like this?