Set up user authentication with OAuth

Open
#7 2 comments 1 reaction 2 assignees View on GitHub

@parkhabit is already working on this.

Since Apr 6, 2018.

Assessment

This issue has not been assessed yet.

Description

priority-4

This issue began as a discussion of the download/authorisation/authentication model of the application. Set up as a github app has been done and so now the next point to be addressed in this issue will be the authentication of users trying to access their github history/backup using OAuth.

As a gh-backup user
I want to be able to authenticate myself to access my github history
so that I know that unauthorised users will not have access to my private history.

  • User is redirected to github authentication when trying to access a github-backup page
  • User is redirected to the gh-backup page once they're authentication is successful

Notes:

OAuth Authentication

Once a user (where github-backup has been installed) wants to click on the button to see the history of a given comment they will be taken to the github-backup site and then they will have to authenticate with OAuth to prove that they are from the org. This step technically would not need to be performed in the case of public repos but given that it's essential for private repos, you only have to do it once and that in the future we may introduce writing access it seems like a good idea.

OAuth2 lets external applications request authorization to private details in a user's GitHub account

— Providing that its a Github App that has been installed by the org owner, will the github API provide a user access to all issues/comments regardless of if they're an author/ mentioned in them?

Github Apps

To see the github-back up button on each of your comments (which would link you to the github-backup site) we would use github apps.

To install a GitHub App, you must be an organization owner.

In the case of github-backup I envisage this being the case (so that in the long run the organisation can decide whether they wish to accept any costs associated with using the app as opposed to the individual). The other advantage of this is that: 'a GitHub App remains installed if the person who set it up leaves the organization', so this would be continuous as well.

GitHub Apps can request separate access to issues and pull requests without accessing the actual contents of the repository.

Dominant language
Elixir
Stars
33
Forks
3
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dwyl/github-backup

All issues in dwyl/github-backup

Similar issues

More Elixir issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.