62 lines
2.7 KiB
Markdown
62 lines
2.7 KiB
Markdown
## Google
|
|
|
|
Google's OAuth integration allows us to specify multiple callback URLs, so we will only need to do this once for each wiki server.
|
|
|
|
### Register an application with Google
|
|
|
|
* While logged onto your Google account, goto the [API Manager](https://console.developers.google.com/)
|
|
* From the project dropdown at the top of the page, select **Create a project...**
|
|
|
|
![Google APIs Project Selector](./images/google-new-app.png)
|
|
|
|
* Enter a Project name, in the New Project dialog, and click **Create**
|
|
|
|
It will take a moment for Google to create your new project. Once it has been created you will receive a notification, and the page should switch to your new project. *Your new project name will appear in the project dropdown. If it does not, select your new project from the project dropdown.*
|
|
|
|
* Select **Credentials**, in the left sidebar, and then select the **OAuth consent screen** tab.
|
|
|
|
* Enter the **Product name** that will be shown to your users, when the login using Google.
|
|
|
|
![Google OAuth consent screen](./images/google-oauth-consent.png)
|
|
|
|
* Click **Save**
|
|
|
|
* Enable the Google+ API, select **Overview** in the left nav, and choose the **Google+ API**, from the the list of Social APIs.
|
|
|
|
![Google+ API](./images/google-plus-api.png)
|
|
|
|
* Click **Enable**
|
|
|
|
* Select **Credentials**, in the left sidebar, click on **Create credentials** and select **OAuth client ID** from the pop-up list.
|
|
|
|
![Google Select OAuth client ID](./images/google-oauth-client-select.png)
|
|
|
|
* Select **Web application**, and provide a name for your web application.
|
|
|
|
* **Authorized JavaScript Origins**: `http://example.wiki`
|
|
* **Authorized redirect URI**: `http://example.wiki/auth/google/callback`
|
|
|
|
Replacing `example.wiki` with your wiki server root domain, also replacing `http` with `https` if you are using https *you can also enter both to support to ease migration*. If your wiki server is supporting multiple wiki domains, you can enter them as well.
|
|
|
|
![Google Create OAuth client ID](./images/google-oauth-client-create.png)
|
|
|
|
* Click **Create**. Your `Client ID` and `Client Secret` will be displayed, save these to use to configure your wiki in the next step.
|
|
|
|
![Google OAuth Secrets](./images/google-oauth-secrets.png)
|
|
|
|
### Configure Wiki
|
|
|
|
The wiki is configured by adding the `client ID` and `client secret` to the configuration. They need not be added inside the `wikiDomains` definition, as the OAuth can have multiple callbacks defined, we still need the domain definition so that the wiki security plugin can understand what is required.
|
|
|
|
```JSON
|
|
{
|
|
"farm": true,
|
|
"security_type": "passportjs",
|
|
"google_clientID": "CLIENT ID",
|
|
"google_clientSecret": "CLIENT SECRET",
|
|
"wikiDomains": {
|
|
"example.wiki": {}
|
|
}
|
|
}
|
|
```
|