Add Google auth documentation

This commit is contained in:
Frédéric Guillot 2014-05-04 11:18:30 -04:00
parent 8ab4c38373
commit a4335c0e52
2 changed files with 91 additions and 14 deletions

View File

@ -12,7 +12,6 @@ Official website: <http://kanboard.net>
- 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.

View File

@ -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.