code-corps / code-corps/code-corps-api
Add GitHub authentication
- Linguagem predominante
- Elixir
- Estrelas
- 234
- Forks
- 82
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
We should allow users to integrate their GitHub account into their current account.
Some quick thoughts around this:
- We need to be able to associate most records (like `Comment` and `Task`) to a `User` that created them
- A `User` could be created by signing up with email, but could also be created via webhooks by some action on GitHub (or some other service)
- We can’t assume a user has an email associated with their account (GitHub may not provide this)
- Emails should be broken off as separate identity providers
- A GitHub account is also an identity provider
- When a user was created due to an external identity provider (claimed vs unclaimed), that user can be merged
- Merging will copy all relevant data from that user to the new user
- We probably need to punt on a user signing up / signing in with GitHub – they can only connect an account later – otherwise we could have a scenario where someone _intends_ to connect a Code Corps account to a GitHub account, but instead creates two separate accounts (one via email, one via GitHub) that are now disconnected. This would mean we'd have to some complex two-step verification process for a merge, which is beyond the scope of MVP here.
Guia de contribuição
Direção de pesquisa
Nenhum arquivo, teste ou ponto de entrada é indicado. Comece mapeando os modelos User, Comment e Task existentes e o fluxo de autenticação; em seguida, defina o menor escopo acordado para conectar identidades do GitHub; o trabalho estará concluído quando houver um design aprovado e o comportamento correspondente de associação de contas.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- elixir, github
- Domínio
- authentication, backend-api-design
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 20/100