Skip to content

Commit

Permalink
Add Google auth documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
fguillot committed May 4, 2014
1 parent 8ab4c38 commit a4335c0
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 8 deletions.
28 changes: 20 additions & 8 deletions README.markdown
Expand Up @@ -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/)
Expand All @@ -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
Expand Down Expand Up @@ -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.
Expand Down
65 changes: 65 additions & 0 deletions 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.

0 comments on commit a4335c0

Please sign in to comment.