Skip to content

Add GitHub authentication #7

@joshsmith

Description

@joshsmith

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions