Acapadev

Capítulo 2

Estrutura da Base de Dados

Para que a sua aplicação suporte login centralizado via ACAPADEV ID, precisa de fazer algumas alterações cruciais na sua tabela local users.

Como a gestão das senhas, segurança, verificação de e-mails e recuperação de contas passam a ser obrigações do ACAPADEV ID, a sua aplicação deixa de guardar estas informações sensíveis.

1. A Migração Obrigatória

Crie uma migração no seu projeto (php artisan make:migration alter_users_table_for_sso) e modifique a tabela para refletir as necessidades do SSO:

public function up()
{
    Schema::table('users', function (Blueprint $table) {
        // 1. O ID único vindo do ACAPADEV ID
        $table->string('sso_id')->nullable()->unique()->after('id');
        
        // 2. A senha deixa de ser obrigatória (pode ser nula)
        $table->string('password')->nullable()->change();
        
        // 3. Pode guardar o avatar global
        $table->string('avatar')->nullable()->after('email');
    });
}

2. Modificar o Modelo User

Abra o ficheiro app/Models/User.php do seu projeto satélite e adicione a coluna sso_id e avatar ao $fillable.

protected $fillable = [
    'name',
    'email',
    'sso_id',
    'avatar',
    'password', // Opcional, mantido caso suporte duplo-login
];

Dúvidas Frequentes

Posso manter o login local e o login SSO em simultâneo?

Sim! Basta manter a coluna password com o atributo nullable(). Assim, utilizadores vindos do SSO não precisam de senha (o sso_id é a garantia de autenticação), mas utilizadores locais podem continuar a autenticar-se da forma tradicional.

Enter para selecionar ESC para sair