On Wed, Aug 17, 2016 at 23:02:53 -0700,
Silk Parrot <silkparrot@gmail.com> wrote:
>Hi,
>
> I am trying to model a social login application. The application can support multiple login providers. I am
thinkingof creating a custom type for each provider. e.g.
>
>CREATE TABLE user (
> uuid UUID PRIMARY KEY DEFAULT public.uuid_generate_v4(),
> google_user system.google_user,
> facebook_user system.facebook_user,
> UNIQUE (google_user.email)
>);
Wouldn't it more sense to have a table you join to your user table that
is more flexible and allows for multiple entries per person. You would
need user, domain, foreign_user, auth_method. This would make it a lot
easier to add other systems later or let users pick their own systems
that you don't need to know about in advance.