code-corps / code-corps/code-corps-api

Add GitHub authentication

Open
#7 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Elixir
Stars
234
Forks
82
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.