Link a Github account to a Kanboard user profile.
- Frédéric Guillot
- License MIT
- Kanboard >= 1.0.37
- OAuth Github API credentials (available in your Settings > Applications > Developer applications)
You have the choice between 3 methods:
- Install the plugin from the Kanboard plugin manager in one click
- Download the zip file and decompress everything under the directory
plugins/GithubAuth
- Clone this repository into the folder
plugins/GithubAuth
Note: Plugin folder is case-sensitive.
The Github authentication in Kanboard uses the OAuth 2.0 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.
- Go to your user profile
- Click on External accounts
- Click on the link Link my Github Account
- You are redirected to the Github Authorize application form
- Authorize Kanboard by clicking on the button Accept
- 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.
- On Github, go to the page Register a new OAuth application
- Just follow the official Github documentation
- In Kanboard, you can get the callback url in Settings > Integrations > Github Authentication
- The easiest way is to copy and paste the Github OAuth2 credentials in the form Settings > Integrations > Github Authentication.
- Or add the credentials in your custom config file
If you use the second method, use these parameters in your config.php
:
// 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');
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:
// 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/');
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.