Estou projetando um aplicativo baseado na arquitetura de microsserviços,
Nesta aplicação, precisarei do microserviço de autenticação,
Também precisarei armazenar algumas informações extras do usuário, como, talvez, vários endereços, imagem de avatar etc.
Isso leva à ideia de ter dois microsserviços - um para Auth e outro, User, que pode armazenar informações extras do usuário,
Até agora, tenho as seguintes idéias:
Permitir que o serviço de autenticação também seja um servidor de recursos que conteria informações do usuário, incluindo endereços adicionais, talvez um avatar etc. Usuário, excluindo Usuário. No entanto, essa solução parece contradizer o conceito de microsserviços, mas quanto a mim, essa solução é a mais atraente.
Tendo dois microsserviços diferentes - Auth e User. O Auth seria responsável apenas pelo tratamento de tokens e não armazenará nenhum dado relacionado ao Usuário. Portanto, quando a solicitação de um token é recebida, o serviço de autenticação chama o usuário para receber dados do usuário e tomar uma decisão
Tendo dois microsserviços diferentes - Auth e User. O Auth seria responsável por manipular os tokens e também armazenar parte das informações do usuário relacionadas à autenticação (talvez senha, funções). O serviço do usuário manterá todas as outras informações, como endereços adicionais, avatares, etc. Essa abordagem para mim parece muito complexa porque requer uma exclusão complexa do usuário / criação de novas operações do usuário
Agora, precisarei escolher uma dessas soluções, mas estou perdido e não tenho certeza qual delas é a correta,
Apreciará qualquer conselho com relação a isso,
obrigado