diff options
Diffstat (limited to 'doc/gitlab-authentication.markdown')
-rw-r--r-- | doc/gitlab-authentication.markdown | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/doc/gitlab-authentication.markdown b/doc/gitlab-authentication.markdown new file mode 100644 index 00000000..3cf6d283 --- /dev/null +++ b/doc/gitlab-authentication.markdown @@ -0,0 +1,78 @@ +Gitlab Authentication +===================== + +Requirements +------------ + +- Account on [Gitlab.com](https://gitlab.com) or you own self-hosted Gitlab instance +- Have Kanboard registered as application in Gitlab + +How does this work? +------------------- + +The Gitlab authentication in Kanboard uses the [OAuth 2.0](http://oauth.net/2/) protocol, so any user of Kanboard can be linked to a Gitlab account. + +That means you can use your Gitlab account to login on Kanboard. + +How to link a Gitlab account +---------------------------- + +1. Go to your user profile +2. Click on **External accounts** +3. Click on the link **Link my Gitlab Account** +4. You are redirected to the **Gitlab authorization form** +5. Authorize Kanboard by clicking on the button **Accept** +6. Your account is now linked + +Now, on the login page you can be authenticated in one click with the link **Login with my Gitlab Account**. + +Your name and email are automatically updated from your Gitlab Account if defined. + +Installation instructions +------------------------- + +### Setting up OAuth 2.0 + +- On Gitlab, register a new application by following the [official documentation](http://doc.gitlab.com/ce/integration/oauth_provider.html) +- In Kanboard, you can get the **callback url** in **Settings > Integrations > Gitlab Authentication**, just copy and paste the url + +### Setting up Kanboard + +Either create a new `config.php` file or rename the `config.default.php` file and set the following values: + +```php +// Enable/disable Gitlab authentication +define('GITLAB_AUTH', true); + +// Gitlab application id +define('GITLAB_CLIENT_ID', 'YOUR_APPLICATION_ID'); + +// Gitlab application secret +define('GITLAB_CLIENT_SECRET', 'YOUR_APPLICATION_SECRET'); +``` + +### Custom endpoints for self-hosted Gitlab + +Change these default values if you use a self-hosted instance of Gitlab: + +```php +// Gitlab oauth2 authorize url +define('GITLAB_OAUTH_AUTHORIZE_URL', 'https://gitlab.com/oauth/authorize'); + +// Gitlab oauth2 token url +define('GITLAB_OAUTH_TOKEN_URL', 'https://gitlab.com/oauth/token'); + +// Gitlab API url endpoint (don't forget the slash at the end) +define('GITLAB_API_URL', 'https://gitlab.com/api/v3/'); +``` + +Notes +----- + +Kanboard uses these information from your Gitlab profile: + +- Full name +- Email address +- Gitlab unique id + +The Gitlab unique id is used to link the local user account and the Gitlab account. |