Skip to content

Latest commit

 

History

History
64 lines (42 loc) · 2.89 KB

github-authentication.markdown

File metadata and controls

64 lines (42 loc) · 2.89 KB

GitHub Authentication

Requirements

How does this work?

The GitHub authentication in Kanboard uses the OAuth 2.0 protocol, so any user of Kanboard can be linked to a GitHub account.

When that is done, they no longer need to manually login with their Kanboard account, but can simply automatically login with their GitHub account.

How to link a GitHub account

  1. Login to Kanboard with the desired user
  2. Go to the Edit user page and click on the link Link my GitHub Account
  3. You are redirected to the GitHub Authorize application form, authorize Kanboard by clicking on the button Accept
  4. Finally, you are redirected to Kanboard and now your user account is linked to your GitHub account
  5. During the process, Kanboard has updated your full name and your email address based on your GitHub profile, if either of those are publically available
  6. Log out of Kanboard and you should be able to login directly with GitHub by clicking on the link Login with my GitHub Account

Installation instructions

Setting up OAuth 2.0

On Github, go to the page "Register a new OAuth application".

Just follow the official GitHub documentation:

  • Open your Settings, select Applications from the sidebar and click on Register new application on the top, next to where it says Developer applications
  • Fill out the form with whatever values you like, the Authorization callback URL must be: http://YOUR_SERVER/?controller=user&action=gitHub

Setting up Kanboard

Either create a new config.php file or rename the config.default.php file and set the following values:

// 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');

Notes

Important: Never store your GITHUB_CLIENT_ID or GITHUB_CLIENT_SECRET in GitHub or somewhere with full public access in general!

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.