php - Salvando usuários no BD - Stack Overflow em Português
Possuo um sistema de login e cadastro via PHP, com banco em MySQL. Nesse banco possuo uma tabela com login, senha, nome e outros detalhes dos usuários.
Ao implementar o login pelo Facebook, me surgiu uma dúvida.
Para armazenar o FBID, nome e sobrenome do Facebook, email do FB e etc, seria mais prático/recomendado salvar na mesma tabela de usuários (tendo que mesclar algumas informações) ou criar uma nova tabela para armazenar os dados do Fb e então vincular apenas a PK dessa tabela na tabela de usuários principal?
O que vocês recomendam / como vocês costumam fazer?
Vou te dar uma dica de experiência própria recente. Tive de realizar a mesma coisa que você está fazendo agora com o LinkedIn em um sistema legado.
Eu recomendo a segunda opção, ou seja, criar uma nova tabela aonde a chave primária seja o tipo de integração externa que você está realizando (uma coluna com o nome TYPE_EXTERNAL, por exemplo, e nesse campo você coloca valores como "FB", "LKDN", "TT" e todos os outros serviços que você quiser linkar com o login) e outra coluna com o id do usuário existente já na sua tabela original do sistema como chave estrangeira.
Desta forma você consegue armazenar todas as informações dos usuários por logins externos e manter os dados de login internos que você ja tinha, isso também abre a possibilidade do usuário pode se logar com mais de uma conta, pois você terá de ter um campo mais ou menos com o nome de "EXTERNAL_ID", esse seria o campo de ID que o FB ou qualquer outro serviço retornaria como ID unico do usuário, então cada usuário poderia ligar mais de uma conta externa no seu sistema sem perder o login original e ficaria bem mais fácil para você buscar os dados, visto que os ids são sempre únicos.
respondida 23/07/16 às 15:32
Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag php mysql login facebook-sdk ou faça sua própria pergunta.