Move Gitlab and Github authentication to external plugins

This commit is contained in:
Frederic Guillot
2016-01-29 23:59:58 -05:00
parent 04d8c6532c
commit 9b9d823f30
46 changed files with 6 additions and 1177 deletions

View File

@@ -1,80 +0,0 @@
Github Authentication
=====================
Requirements
------------
OAuth Github API credentials (available in your [Settings > Applications > Developer applications](https://github.com/settings/applications))
How does this work?
-------------------
The Github authentication in Kanboard uses the [OAuth 2.0](http://oauth.net/2/) protocol, so any user of Kanboard can be linked to a Github account.
That means you can use your Github account to login on Kanboard.
How to link a Github account
----------------------------
1. Go to your user profile
2. Click on **External accounts**
3. Click on the link **Link my Github Account**
4. You are redirected to the **Github Authorize application 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 Github Account**.
Your name and email are automatically updated from your Github Account if defined.
Installation instructions
-------------------------
### Setting up OAuth 2.0
- On Github, go to the page [Register a new OAuth application](https://github.com/settings/applications/new)
- Just follow the [official Github documentation](https://developer.github.com/guides/basics-of-authentication/#registering-your-app)
- In Kanboard, you can get the **callback url** in **Settings > Integrations > Github Authentication**
### 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 Github authentication
define('GITHUB_AUTH', true);
// Github client id (Copy it from your settings -> Applications -> Developer applications)
define('GITHUB_CLIENT_ID', 'YOUR_GITHUB_CLIENT_ID');
// Github client secret key (Copy it from your settings -> Applications -> Developer applications)
define('GITHUB_CLIENT_SECRET', 'YOUR_GITHUB_CLIENT_SECRET');
```
### Github Entreprise
To use this authentication method with Github Enterprise you have to change the default urls.
Replace these values by your self-hosted instance of Github:
```php
// Github oauth2 authorize url
define('GITHUB_OAUTH_AUTHORIZE_URL', 'https://github.com/login/oauth/authorize');
// Github oauth2 token url
define('GITHUB_OAUTH_TOKEN_URL', 'https://github.com/login/oauth/access_token');
// Github API url (don't forget the slash at the end)
define('GITHUB_API_URL', 'https://api.github.com/');
```
Notes
-----
Kanboard uses these information from your public Github profile:
- Full name
- Public email address
- Github unique id
The Github unique id is used to link the local user account and the Github account.

View File

@@ -1,83 +0,0 @@
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.
Known issues
------------
Gitlab OAuth will work only with url rewrite enabled. At the moment, Gitlab doesn't support callback url with query string parameters. See [Gitlab issue](https://gitlab.com/gitlab-org/gitlab-ce/issues/2443)

View File

@@ -118,8 +118,6 @@ Technical details
- [LDAP authentication](ldap-authentication.markdown)
- [LDAP group synchronization](ldap-group-sync.markdown)
- [LDAP parameters](ldap-parameters.markdown)
- [Github authentication](github-authentication.markdown)
- [Gitlab authentication](gitlab-authentication.markdown)
- [Reverse proxy authentication](reverse-proxy-authentication.markdown)
### Contributors