From b3d1e36980858d7f8dd5596550e63a84a6602a45 Mon Sep 17 00:00:00 2001 From: Kartikey Tanna Date: Sun, 17 Mar 2019 13:47:53 +0530 Subject: [PATCH] #57815 Omniauth UltraAuth strategy --- Gemfile | 1 + Gemfile.lock | 30 +++++++ changelogs/unreleased/57815.yml | 5 ++ .../img/ultra_auth_credentials.png | Bin 0 -> 53737 bytes .../img/ultra_auth_edit_callback_url.png | Bin 0 -> 39410 bytes ...tra_auth_edit_callback_url_highlighted.png | Bin 0 -> 68383 bytes doc/integration/omniauth.md | 1 + doc/integration/ultra_auth.md | 78 ++++++++++++++++++ 8 files changed, 115 insertions(+) create mode 100644 changelogs/unreleased/57815.yml create mode 100644 doc/integration/img/ultra_auth_credentials.png create mode 100644 doc/integration/img/ultra_auth_edit_callback_url.png create mode 100644 doc/integration/img/ultra_auth_edit_callback_url_highlighted.png create mode 100644 doc/integration/ultra_auth.md diff --git a/Gemfile b/Gemfile index c55e6478cb0..50099f5a3b1 100644 --- a/Gemfile +++ b/Gemfile @@ -42,6 +42,7 @@ gem 'omniauth-twitter', '~> 1.4' gem 'omniauth_crowd', '~> 2.2.0' gem 'omniauth-authentiq', '~> 0.3.3' gem 'rack-oauth2', '~> 1.9.3' +gem "omniauth-ultraauth", '~> 0.0.1' gem 'jwt', '~> 2.1.0' # Spam and anti-bot protection diff --git a/Gemfile.lock b/Gemfile.lock index 109958e2591..95c377e2725 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -551,10 +551,26 @@ GEM omniauth-twitter (1.4.0) omniauth-oauth (~> 1.1) rack + omniauth-ultraauth (0.0.1) + omniauth_openid_connect (~> 0.2.4) omniauth_crowd (2.2.3) activesupport nokogiri (>= 1.4.4) omniauth (~> 1.0) + omniauth_openid_connect (0.2.4) + addressable (~> 2.5) + omniauth (~> 1.3) + openid_connect (~> 1.1) + openid_connect (1.1.6) + activemodel + attr_required (>= 1.0.0) + json-jwt (>= 1.5.0) + rack-oauth2 (>= 1.6.1) + swd (>= 1.0.0) + tzinfo + validate_email + validate_url + webfinger (>= 1.0.1) opentracing (0.4.3) optimist (3.0.0) org-ruby (0.9.12) @@ -865,6 +881,10 @@ GEM state_machines-activerecord (0.5.1) activerecord (>= 4.1, < 6.0) state_machines-activemodel (>= 0.5.0) + swd (1.1.2) + activesupport (>= 3) + attr_required (>= 0.0.5) + httpclient (>= 2.4) sys-filesystem (1.1.6) ffi sysexits (1.2.0) @@ -914,6 +934,12 @@ GEM equalizer (~> 0.0.9) parser (>= 2.3.1.2, < 2.6) procto (~> 0.0.2) + validate_email (0.1.6) + activemodel (>= 3.0) + mail (>= 2.2.5) + validate_url (1.0.8) + activemodel (>= 3.0.0) + public_suffix validates_hostname (1.0.6) activerecord (>= 3.0) activesupport (>= 3.0) @@ -926,6 +952,9 @@ GEM vmstat (2.3.0) warden (1.2.7) rack (>= 1.0) + webfinger (1.1.0) + activesupport + httpclient (>= 2.4) webmock (3.5.1) addressable (>= 2.3.6) crack (>= 0.3.2) @@ -1086,6 +1115,7 @@ DEPENDENCIES omniauth-saml (~> 1.10) omniauth-shibboleth (~> 1.3.0) omniauth-twitter (~> 1.4) + omniauth-ultraauth (~> 0.0.1) omniauth_crowd (~> 2.2.0) opentracing (~> 0.4.3) org-ruby (~> 0.9.12) diff --git a/changelogs/unreleased/57815.yml b/changelogs/unreleased/57815.yml new file mode 100644 index 00000000000..ccf76c99f1e --- /dev/null +++ b/changelogs/unreleased/57815.yml @@ -0,0 +1,5 @@ +--- +title: Added Omniauth UltraAuth strategy to GitLab +merge_request: +author: Kartikey Tanna +type: added diff --git a/doc/integration/img/ultra_auth_credentials.png b/doc/integration/img/ultra_auth_credentials.png new file mode 100644 index 0000000000000000000000000000000000000000..cff98a4b05647866d3302700294fe76fec04f274 GIT binary patch literal 53737 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 literal 0 HcmV?d00001 diff --git a/doc/integration/img/ultra_auth_edit_callback_url.png b/doc/integration/img/ultra_auth_edit_callback_url.png new file mode 100644 index 0000000000000000000000000000000000000000..b7548122c5eebf93412989306cb7d616db26ea5f GIT binary patch literal 39410 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 literal 0 HcmV?d00001 diff --git a/doc/integration/omniauth.md b/doc/integration/omniauth.md index 2932c884d04..7fd39b02fbe 100644 --- a/doc/integration/omniauth.md +++ b/doc/integration/omniauth.md @@ -33,6 +33,7 @@ contains some settings that are common for all providers. - [Authentiq](../administration/auth/authentiq.md) - [OAuth2Generic](oauth2_generic.md) - [JWT](../administration/auth/jwt.md) +- [UltraAuth](ultra_auth.md) ## Initial OmniAuth Configuration diff --git a/doc/integration/ultra_auth.md b/doc/integration/ultra_auth.md new file mode 100644 index 00000000000..139cca456aa --- /dev/null +++ b/doc/integration/ultra_auth.md @@ -0,0 +1,78 @@ +# UltraAuth OmniAuth Provider + +You can integrate your GitLab instance with [UltraAuth](https://ultraauth.com) to enable users to perform secure biometric authentication to your GitLab instance with your UltraAuth account. Users have to perform the biometric authentication using their mobile device with fingerprint sensor. + +## Create UltraAuth Application + +To enable UltraAuth OmniAuth provider, you must use UltraAuth's credentials for your GitLab instance. +To get the credentials (a pair of Client ID and Client Secret), you must register an application on UltraAuth. + +1. Sign in to [UltraAuth](https://ultraauth.com). +1. Navigate to [Create an App](https://ultraauth.com/select-strategy) and click on "Ruby on Rails". +1. Scroll down the page that is displayed to locate the **Client ID** and **Client Secret**. + Keep this page open as you continue configuration. + ![UltraAuth Credentials: OPENID_CLIENT_ID and OPENID_CLIENT_SECRET](img/ultra_auth_credentials.png) +1. Click on "Edit Callback URL" link. + ![Edit UltraAuth Callback URL](img/ultra_auth_edit_callback_url_highlighted.png) +1. The callback URL will be `http(s):///users/auth/ultraauth/callback` + ![UltraAuth Callback URL](img/ultra_auth_edit_callback_url.png) +1. Select **Register application**. +1. On your GitLab server, open the configuration file. + + For omnibus package: + + ```sh + sudo editor /etc/gitlab/gitlab.rb + ``` + + For installations from source: + + ```sh + cd /home/git/gitlab + sudo -u git -H editor config/gitlab.yml + ``` +1. See [Initial OmniAuth Configuration](omniauth.md#initial-omniauth-configuration) for initial settings. +1. Add the provider configuration: + + For omnibus package: + + ```ruby + gitlab_rails['omniauth_providers'] = [ + { + "name" => "ultraauth", + "app_id" => "OPENID_CLIENT_ID", + "app_secret" => "OPENID_CLIENT_SECRET", + "args" => { + "client_options" => { + "redirect_uri" => "https://example.com/users/auth/ultraauth/callback" + } + } + } + ] + ``` + + For installation from source: + + ``` + - { name: 'ultraauth', + app_id: 'OPENID_CLIENT_ID', + app_secret: 'OPENID_CLIENT_SECRET', + args: { + client_options: { + redirect_uri: 'https://example.com/users/auth/ultraauth/callback' + } + } + } + ``` + __Replace `https://example.com/users/auth/ultraauth/callback` with your application's Callback URL.__ +1. Change `OPENID_CLIENT_ID` to the Client ID from the UltraAuth application page. +1. Change `OPENID_CLIENT_SECRET` to the Client Secret from the UltraAuth application page. +1. Save the configuration file. +1. [Reconfigure GitLab]( ../administration/restart_gitlab.md#omnibus-gitlab-reconfigure ) or [restart GitLab]( ../administration/restart_gitlab.md#installations-from-source ) for the changes to take effect if you + installed GitLab via Omnibus or from source respectively. + +On the sign in page, there should now be a UltraAuth icon below the regular sign in form. +Click the icon to begin the authentication process. UltraAuth will ask the user to sign in and authorize the GitLab application. +If everything goes well, the user will be returned to GitLab and will be signed in. + +**Note:** GitLab requires the email address of each new user. Once the user is logged in using UltraAuth, GitLab will redirect the user to the profile page where they will have to provide the email and verify the email.