docbrown/docs/backend/auth-github.md
Jacob Herrington 7d0aeeefe5 Improve the clarity of the docs and fix Prettier config (#4899)
* Improve format and clarity of the docs [ci skip]

While this change produces a lot of git noise by enacting what seems
like an arbitrary linewrap on most of the files in the documentation it
will result in better version control and tracking of the changes in the
documentation.

For example, as it currently stands, if one was to make a
PR to move a comma in a sentence because each paragraph in most of the
files is on a single line, that small change would look in the git
history like the author had modified the entire paragraph. In reality,
this author just moved a comma.

This change also includes a significant number of modifications to the
more article-esque docs. Many of these docs were written in a sort of
stream-of-conciousness and aren't as easy to read as they could be.
Hopefully this is the first of several readability changes. If we could
get these docs to a more accessible reading level, we would probably see
an increase in contributions. :)

* Delegate markdown wrapping to Prettier

* Add linewrapping explanation in the docs [ci skip]
2019-11-26 08:40:53 -05:00

49 lines
1.8 KiB
Markdown

---
title: GitHub Authentication
---
# GitHub App and Authentication
DEV allows you to authenticate using GitHub. To use this authentication method
in local development, you will need to set up a GitHub App and retrieve its
keys. Then you'll need to provide these keys to the Rails application.
1. [Click this link to create a new OAuth application in your Github
account](https://github.com/settings/applications/new) - you will be
redirected to sign in to Github account if you have not already.
2. Fill in the form with an application name, description, and the URL
`http://localhost:3000/`. Replace the port `3000` if you run DEV on another
port.
![github-1](https://user-images.githubusercontent.com/22895284/51085500-877a6c00-173a-11e9-913a-0dccad234cf3.png)
3. You will be redirected to the app's **Developer settings**. Here you will
find the keys. Change them accordingly (name of GitHub key -> name of our
`ENV` variable):
```text
Client ID -> GITHUB_KEY
Client Secret -> GITHUB_SECRET
```
![github-2](https://user-images.githubusercontent.com/22895284/51085862-49337b80-173f-11e9-8503-f8251d07f458.png)
4. You will need a personal token as well. From the same dashboard, navigate to
**Personal access tokens** and generate a new token.
![github-3](https://user-images.githubusercontent.com/22895284/51085863-49337b80-173f-11e9-81bf-1c1e38035a7a.png)
5. Fill in the token description and generate the token. You don't need to
select any of the scopes.
6. Be sure that you copy the token right away because it is the only time you
will see it. Change it accordingly.
```shell
Personal access tokens -> GITHUB_TOKEN
```
![github-4](https://user-images.githubusercontent.com/22895284/51085865-49cc1200-173f-11e9-86a8-7e7e1db408a0.png)
7. Done.