From 42f36268629d2029e16b70f1b112e404e6439bd7 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Tue, 2 Jun 2015 18:39:20 -0400 Subject: [PATCH 1/2] Add 2FA docs [ci skip] --- doc/workflow/README.md | 3 +- doc/workflow/two_factor_authentication.md | 65 +++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 doc/workflow/two_factor_authentication.md diff --git a/doc/workflow/README.md b/doc/workflow/README.md index 0fca68f364e..89005e51958 100644 --- a/doc/workflow/README.md +++ b/doc/workflow/README.md @@ -11,7 +11,8 @@ - [Migrating from SVN to GitLab](migrating_from_svn.md) - [Project importing from GitHub to GitLab](import_projects_from_github.md) - [Project importing from GitLab.com to your private GitLab instance](import_projects_from_gitlab_com.md) +- [Two-factor Authentication (2FA)](two_factor_authentication.md) - [Protected branches](protected_branches.md) - [Change your time zone](timezone.md) - [Keyboard shortcuts](shortcuts.md) -- [Web Editor](web_editor.md) \ No newline at end of file +- [Web Editor](web_editor.md) diff --git a/doc/workflow/two_factor_authentication.md b/doc/workflow/two_factor_authentication.md new file mode 100644 index 00000000000..81f51042bff --- /dev/null +++ b/doc/workflow/two_factor_authentication.md @@ -0,0 +1,65 @@ +# Two-factor Authentication (2FA) + +Two-factor Authentication (2FA) provides an additional level of security to your +GitLab account. Once enabled, in addition to supplying your username and +password to login, you'll be prompted for a code generated by an application on +your phone. + +By enabling 2FA, the only way someone other than you can log into your account +is to know your username and password *and* have access to your phone. + +## Enabling 2FA + +**In GitLab:** + +1. Log in to your GitLab account. +1. Go to your **Profile Settings**. +1. Go to **Acount**. +1. Click **Enable Two-factor Authentication**. + +TODO: Insert screenshot of 2FA page (with the "Can't scan the code?" text) + +**On your phone:** + +1. Install a compatible application. We recommend [Google Authenticator]. +1. In the application, add a new entry in one of two ways: + * Scan the code with your phone's camera to add the entry automatically. + * Enter the details provided to add the entry manually. + +**In GitLab:** + +1. Enter the six-digit pin number from the entry on your phone into the **Pin + code** field. +1. Click **Submit**. + +If the pin you entered was correct, you'll see a message indicating that +Two-factor Authentication has been enabled, and you'll be presented with a list +of recovery codes. + +## Recovery Codes + +Should you ever lose access to your phone, you can use one of the ten provided +backup codes to login to your account. We suggest copying or printing them for +storage in a safe place. **Each code can be used only once** to log in to your +account. + +If you lose the recovery codes or just want to generate new ones, you can do so +from the **Profile Settings** > **Acount** page where you first enabled 2FA. + +## Logging in with 2FA Enabled + +Logging in with 2FA enabled is only slightly different than a normal login. +Enter your username and password credentials as you normally would, and you'll +be presented with a second prompt for an authentication code. Enter the pin from +your phone's application or a recovery code to log in. + +TODO: Insert screenshot of 2FA login prompt? + +## Disabling 2FA + +1. Log in to your GitLab account. +1. Go to your **Profile Settings**. +1. Go to **Acount**. +1. Click **Disable Two-factor Authentication**. + +[Google Authenticator]: https://support.google.com/accounts/answer/1066447?hl=en From 41ee2aa2d70ddb729904d90f12b0318f2ce58215 Mon Sep 17 00:00:00 2001 From: Job van der Voort Date: Wed, 3 Jun 2015 15:35:13 +0200 Subject: [PATCH 2/2] fix typo and add screenshots --- doc/workflow/2fa.png | Bin 0 -> 23415 bytes doc/workflow/2fa_auth.png | Bin 0 -> 15569 bytes doc/workflow/two_factor_authentication.md | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 doc/workflow/2fa.png create mode 100644 doc/workflow/2fa_auth.png diff --git a/doc/workflow/2fa.png b/doc/workflow/2fa.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf415210d5c0b188571171687eac948b2d25039 GIT binary patch literal 23415 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 literal 0 HcmV?d00001 diff --git a/doc/workflow/two_factor_authentication.md b/doc/workflow/two_factor_authentication.md index 81f51042bff..8ac1ca4b351 100644 --- a/doc/workflow/two_factor_authentication.md +++ b/doc/workflow/two_factor_authentication.md @@ -14,10 +14,10 @@ is to know your username and password *and* have access to your phone. 1. Log in to your GitLab account. 1. Go to your **Profile Settings**. -1. Go to **Acount**. +1. Go to **Account**. 1. Click **Enable Two-factor Authentication**. -TODO: Insert screenshot of 2FA page (with the "Can't scan the code?" text) +![Two-factor setup](2fa.png) **On your phone:** @@ -53,7 +53,7 @@ Enter your username and password credentials as you normally would, and you'll be presented with a second prompt for an authentication code. Enter the pin from your phone's application or a recovery code to log in. -TODO: Insert screenshot of 2FA login prompt? +![Two-factor authentication on sign in](2fa_auth.png) ## Disabling 2FA