diff options
author | Frédéric Guillot <fguillot@users.noreply.github.com> | 2014-05-04 11:18:30 -0400 |
---|---|---|
committer | Frédéric Guillot <fguillot@users.noreply.github.com> | 2014-05-04 11:18:30 -0400 |
commit | a4335c0e52f246ad93965650cedf63af332f8496 (patch) | |
tree | 5c56eb9c75b4ee1223cedb72679e97f194069269 | |
parent | 8ab4c38373932a3f40c4810cf88c278a2f478976 (diff) |
Add Google auth documentation
-rw-r--r-- | README.markdown | 28 | ||||
-rw-r--r-- | docs/google-authentication.markdown | 65 |
2 files changed, 85 insertions, 8 deletions
diff --git a/README.markdown b/README.markdown index 605ff98c..a04d6c94 100644 --- a/README.markdown +++ b/README.markdown @@ -12,7 +12,6 @@ Official website: <http://kanboard.net> - Open source and self-hosted - Super simple installation - [](https://travis-ci.org/fguillot/kanboard) [](https://scrutinizer-ci.com/g/fguillot/kanboard/) @@ -25,6 +24,7 @@ Features - Tasks with different colors, Markdown support for the description - Automatic actions - Users management with a basic privileges separation (administrator or regular user) +- External authentication: Google Account and LDAP/ActiveDirectory - Webhooks to create tasks from an external software - Host anywhere (shared hosting, VPS, Raspberry Pi or localhost) - No external dependencies @@ -68,25 +68,37 @@ There is also many people who have reported bugs or proposed awesome ideas. Documentation ------------- +### Using Kanboard + +- [Usage examples](docs/usage-examples.markdown) +- [Manage users](docs/manage-users.markdown) +- [Syntax guide](docs/syntax-guide.markdown) +- [Automatic actions](docs/automatic-actions.markdown) + ### Technical details +#### Installation + - [Installation instructions](docs/installation.markdown) - [Installation on Ubuntu](docs/ubuntu-installation.markdown) - [Installation on Debian](docs/debian-installation.markdown) - [Installation on Centos](docs/centos-installation.markdown) - [Upgrade Kanboard to a new version](docs/update.markdown) + +#### Database + - [Sqlite database management](docs/sqlite-database.markdown) - [How to use Mysql instead of Sqlite](docs/mysql-configuration.markdown) + +#### Authentication + - [LDAP authentication](docs/ldap-authentication.markdown) -- [How to use Kanboard with Vagrant](docs/vagrant.markdown) -- [Webhooks](docs/webhooks.markdown) +- [Google authentication](docs/google-authentication.markdown) -### Using Kanboard +#### Developers -- [Usage examples](docs/usage-examples.markdown) -- [Manage users](docs/manage-users.markdown) -- [Syntax guide](docs/syntax-guide.markdown) -- [Automatic actions](docs/automatic-actions.markdown) +- [How to use Kanboard with Vagrant](docs/vagrant.markdown) +- [Webhooks](docs/webhooks.markdown) The documentation is written in [Markdown](http://en.wikipedia.org/wiki/Markdown). If you want to improve the documentation, just send a pull-request. diff --git a/docs/google-authentication.markdown b/docs/google-authentication.markdown new file mode 100644 index 00000000..033cf4bb --- /dev/null +++ b/docs/google-authentication.markdown @@ -0,0 +1,65 @@ +Google Authentication +===================== + +Requirements +------------ + +- OAuth Google API credentials (available in the Google Developer Console) + +How does this work? +------------------- + +- The Google authentication in Kanboard use the OAuth 2.0 protocol +- Any user account in Kanboard can be linked to a Google Account +- When a Kanboard user account is linked to Google, you can login with one click + +Procedure to link a Google Account +---------------------------------- + +1. The first step is to link an existing user account to a Google Account +2. Login with the desired user +3. Go to the **Edit user** page and click on the link **Link my Google Account** +4. You are redirected to the **Google Consent screen**, authorize Kanboard by clicking on the button **Accept** +5. Finally, you are redirected to Kanboard and now your user account is linked to your Google account +6. During the process, Kanboard have updated your full name and your email address based on your Google profile +7. Log out and you should be able to login directly with Google by clicking on the link **Login with my Google Account** + +Installation instructions +------------------------- + +### Setting up OAuth 2.0 + +Follow the [official Google documentation](https://developers.google.com/accounts/docs/OAuth2Login#appsetup), in summary: + +- Go to the [Developer Console](https://console.developers.google.com) +- On the sidebar, click on **Credentials** and choose **Create a new Client Id** +- Fill the form, the redirect URL must be: **http://YOUR_SERVER/?controller=user&action=google** + +### Setting up Kanboad + +Create a custom `config.php` file or copy the `config.default.php` file: + +```php +<?php + +// Enable/disable Google authentication +define('GOOGLE_AUTH', true); // Set this value to true + +// Google client id (Get this value from the Google developer console) +define('GOOGLE_CLIENT_ID', 'YOUR_CLIENT_ID'); + +// Google client secret key (Get this value from the Google developer console) +define('GOOGLE_CLIENT_SECRET', 'YOUR_CLIENT_SECRET'); + +``` + +Notes +----- + +Kanboard use these information from your Google profile: + +- Full name +- Email address +- Google unique id + +The Google unique id is used to link together the local user account and the Google account. |