Single Sign On e dados centralizados

Procuro uma forma de fazer um servidor que cuide do meu login único pra todas minhas aplicações (SSO) e nesse mesmo servidor, ter os dados que toda aplicação vai compartilhar (Cliente, Empresa, etc).
Qual a melhor implementação de SSO atualmente?
E como faria com esses meus dados centralizados? Faria uma requisição da minha aplicação toda vez que precisasse desse dados? Isso não pode ser muito custoso?

Enfim, estou pra começar uma aplicação nesse porte, e preciso de opiniões.

Aplicações web no mesmo domínio pai -> Tabela de usuário (dados básicos como login, email e senha) e cookie que pega o usuário logado compartilhados. Cada aplicação teria uma tabela extra de usuários que adicionaria os atributos específicos. Formulários de login apontam pra a mesma action da aplicação que gerencia o SSO

Domínios diferentes -> não sei a melhor solução, to usando o mesmo esquema acima em um projeto meu, mas como as aplicações não podem compartilhar cookies faço requisições JSONP à aplicação que gerencia o SSO pra pegar o valor do cookie

[quote=victorcosta]Aplicações web no mesmo domínio pai -> Tabela de usuário (dados básicos como login, email e senha) e cookie que pega o usuário logado compartilhados. Cada aplicação teria uma tabela extra de usuários que adicionaria os atributos específicos. Formulários de login apontam pra a mesma action da aplicação que gerencia o SSO

Domínios diferentes -> não sei a melhor solução, to usando o mesmo esquema acima em um projeto meu, mas como as aplicações não podem compartilhar cookies faço requisições JSONP à aplicação que gerencia o SSO pra pegar o valor do cookie[/quote]

Mas o maior problema ainda é, manter esses dados compartilhados em sessão? Fazer requisição toda vez que precisar deles? Gravar esses dados compartilhados num Redis da vida e apagá-los no logout?
São essas alternativas e sugestões que preciso de início.

Isso de criar um modelo de usuário específico para cada aplicação pode ser interessante, tendo ele uma referência para o usuário ‘original’.