Added omniauth-auth0 Gem + Applicable Documentation.
This commit is contained in:
parent
a34021cd18
commit
d6caadd1d5
6 changed files with 101 additions and 0 deletions
|
@ -15,6 +15,7 @@ v 8.6.0 (unreleased)
|
|||
- Update `omniauth-saml` to 1.5.0 to allow for custom response attributes to be set
|
||||
- Memoize @group in Admin::GroupsController (Yatish Mehta)
|
||||
- Indicate how much an MR diverged from the target branch (Pierre de La Morinerie)
|
||||
- Added omniauth-auth0 Gem (Daniel Carraro)
|
||||
- Strip leading and trailing spaces in URL validator (evuez)
|
||||
- Add "last_sign_in_at" and "confirmed_at" to GET /users/* API endpoints for admins (evuez)
|
||||
- Return empty array instead of 404 when commit has no statuses in commit status API
|
||||
|
|
1
Gemfile
1
Gemfile
|
@ -22,6 +22,7 @@ gem 'devise', '~> 3.5.4'
|
|||
gem 'devise-async', '~> 0.9.0'
|
||||
gem 'doorkeeper', '~> 2.2.0'
|
||||
gem 'omniauth', '~> 1.3.1'
|
||||
gem 'omniauth-auth0', '~> 1.4.1'
|
||||
gem 'omniauth-azure-oauth2', '~> 0.0.6'
|
||||
gem 'omniauth-bitbucket', '~> 0.0.2'
|
||||
gem 'omniauth-cas3', '~> 1.1.2'
|
||||
|
|
|
@ -498,6 +498,8 @@ GEM
|
|||
omniauth (1.3.1)
|
||||
hashie (>= 1.2, < 4)
|
||||
rack (>= 1.0, < 3)
|
||||
omniauth-auth0 (1.4.1)
|
||||
omniauth-oauth2 (~> 1.1)
|
||||
omniauth-azure-oauth2 (0.0.6)
|
||||
jwt (~> 1.0)
|
||||
omniauth (~> 1.0)
|
||||
|
@ -973,6 +975,7 @@ DEPENDENCIES
|
|||
oauth2 (~> 1.0.0)
|
||||
octokit (~> 3.8.0)
|
||||
omniauth (~> 1.3.1)
|
||||
omniauth-auth0 (~> 1.4.1)
|
||||
omniauth-azure-oauth2 (~> 0.0.6)
|
||||
omniauth-bitbucket (~> 0.0.2)
|
||||
omniauth-cas3 (~> 1.1.2)
|
||||
|
|
|
@ -357,6 +357,12 @@ production: &base
|
|||
# crowd_server_url: 'CROWD SERVER URL',
|
||||
# application_name: 'YOUR_APP_NAME',
|
||||
# application_password: 'YOUR_APP_PASSWORD' } }
|
||||
#
|
||||
# - { name: 'auth0',
|
||||
# args: {
|
||||
# client_id: 'YOUR_AUTH0_CLIENT_ID',
|
||||
# client_secret: 'YOUR_AUTH0_CLIENT_SECRET',
|
||||
# namespace: 'YOUR_AUTH0_DOMAIN' } }
|
||||
|
||||
# SSO maximum session duration in seconds. Defaults to CAS default of 8 hours.
|
||||
# cas3:
|
||||
|
|
89
doc/integration/auth0.md
Normal file
89
doc/integration/auth0.md
Normal file
|
@ -0,0 +1,89 @@
|
|||
# Auth0 OmniAuth Provider
|
||||
|
||||
To enable the Auth0 OmniAuth provider, you must create an Auth0 account, and an
|
||||
application.
|
||||
|
||||
1. Sign in to the [Auth0 Console](https://manage.auth0.com). If you need to
|
||||
create an account, you can do so at the same link.
|
||||
|
||||
1. Select "New App/API".
|
||||
|
||||
1. Provide the Application Name ('GitLab' works fine).
|
||||
|
||||
1. Once created, you should see the Quick Start options. Disregard them and
|
||||
select 'Settings' above the Quick Start options.
|
||||
|
||||
1. At the top of the Settings screen, you should see your Domain, Client ID and
|
||||
Client Secret. Take note of these as you'll need to put them in the
|
||||
configuration file. For example:
|
||||
- Domain: `test1234.auth0.com`
|
||||
- Client ID: `t6X8L2465bNePWLOvt9yi41i`
|
||||
- Client Secret: `KbveM3nqfjwCbrhaUy_gDu2dss8TIlHIdzlyf33pB7dEK5u_NyQdp65O_o02hXs2`
|
||||
|
||||
1. Fill in the Allowed Callback URLs:
|
||||
- http://`YOUR_GITLAB_URL`/users/auth/auth0/callback (or)
|
||||
- https://`YOUR_GITLAB_URL`/users/auth/auth0/callback
|
||||
|
||||
1. Fill in the Allowed Origins (CORS):
|
||||
- http://`YOUR_GITLAB_URL` (or)
|
||||
- https://`YOUR_GITLAB_URL`
|
||||
|
||||
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" => "auth0",
|
||||
"args" => { client_id: 'YOUR_AUTH0_CLIENT_ID'',
|
||||
client_secret: 'YOUR_AUTH0_CLIENT_SECRET',
|
||||
namespace: 'YOUR_AUTH0_DOMAIN'
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
For installations from source:
|
||||
|
||||
```yaml
|
||||
- { name: 'auth0',
|
||||
args: {
|
||||
client_id: 'YOUR_AUTH0_CLIENT_ID',
|
||||
client_secret: 'YOUR_AUTH0_CLIENT_SECRET',
|
||||
namespace: 'YOUR_AUTH0_DOMAIN'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
1. Change `YOUR_AUTH0_CLIENT_ID` to the client ID from the Auth0 Console page
|
||||
from step 5.
|
||||
|
||||
1. Change `YOUR_AUTH0_CLIENT_SECRET` to the client secret from the Auth0 Console
|
||||
page from step 5.
|
||||
|
||||
1. Save the file and [reconfigure GitLab](../administration/restart_gitlab.md)
|
||||
for the changes to take effect.
|
||||
|
||||
On the sign in page there should now be an Auth0 icon below the regular sign in
|
||||
form. Click the icon to begin the authentication process. Auth0 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.
|
|
@ -28,6 +28,7 @@ contains some settings that are common for all providers.
|
|||
- [SAML](saml.md)
|
||||
- [Crowd](crowd.md)
|
||||
- [Azure](azure.md)
|
||||
- [Auth0](auth0.md)
|
||||
|
||||
## Initial OmniAuth Configuration
|
||||
|
||||
|
|
Loading…
Reference in a new issue