From a4335c0e52f246ad93965650cedf63af332f8496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Guillot?= Date: Sun, 4 May 2014 11:18:30 -0400 Subject: [PATCH] Add Google auth documentation --- README.markdown | 40 +++++++++++------- docs/google-authentication.markdown | 65 +++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 14 deletions(-) create mode 100644 docs/google-authentication.markdown diff --git a/README.markdown b/README.markdown index 605ff98c6..a04d6c94e 100644 --- a/README.markdown +++ b/README.markdown @@ -12,7 +12,6 @@ Official website: - Open source and self-hosted - Super simple installation - [![Build Status](https://travis-ci.org/fguillot/kanboard.svg)](https://travis-ci.org/fguillot/kanboard) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/fguillot/kanboard/badges/quality-score.png?s=2b6490781608657cc8c43d02285bfafb4f489528)](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,19 +68,6 @@ There is also many people who have reported bugs or proposed awesome ideas. Documentation ------------- -### Technical details - -- [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) -- [Sqlite database management](docs/sqlite-database.markdown) -- [How to use Mysql instead of Sqlite](docs/mysql-configuration.markdown) -- [LDAP authentication](docs/ldap-authentication.markdown) -- [How to use Kanboard with Vagrant](docs/vagrant.markdown) -- [Webhooks](docs/webhooks.markdown) - ### Using Kanboard - [Usage examples](docs/usage-examples.markdown) @@ -88,6 +75,31 @@ Documentation - [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) +- [Google authentication](docs/google-authentication.markdown) + +#### Developers + +- [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 000000000..033cf4bb8 --- /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 +