Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementação da Rota api/v1/login/google para login com google provider #73

Open
12 of 13 tasks
LivioAlvarenga opened this issue Aug 16, 2024 · 0 comments
Open
12 of 13 tasks

Comments

@LivioAlvarenga
Copy link
Owner

LivioAlvarenga commented Aug 16, 2024

  • Criar api POST api/v1/login/google, esta rota realizara o login com google sendo controlada pelo AuthJs.
  • Criar um callback para chamar a api/v1/login/google apos login com google, adicionar lógica no login page e no componente form.
  • Adaptar a implementação de AuthJs aos nossos casos de uso, vamos deixar o AuthJs criar o Usuário se necessário, Conta e Sessão.
  • Adicionar lógica para verificar o profile.emailVerified do google e adicionar/atualizar o usuário nas colunas emailVerified e email_verified_provider, vamos adicionar um cookie authjs.google-email-verified no callback de signIn e pegar ele no caso de uso em ambiente de servidor.
  • Adicionar lógica para adicionar a sessão criada pelo google o Device que criou a sessão, preenchendo a coluna device_identifier na sessão criada pelo google provider. Para detectar qual sessão que o google criou vamos usar o authjs.session-token que traz o token da sessão.
  • Adicionar um cookie authjs.google-picture no AuthJs
  • Criar tabela de avatars, sendo id, userId, url
  • Criar avatar-repository e pg-avatar-repository
  • Adicionar lógica para pegar a url de imagem no cookie authjs.google-picture e salvar em nosso bucket bem como na avatars table
  • Criar caso de uso LoginGoogleUseCase com princípios SOLID
  • Criar image-repository e supabase-image-repository, assim desacoplamos nosso caso de uso para responsabilidade de qual atorage usar.
  • Criar cookie-repository e next-cookie-repository, assim desacoplamos nosso caso de uso para responsabilidade de qual lib para fazer CRUD em cookies
  • Criar tests para caso de uso LoginGoogleUseCase
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant