summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph (Sheogorath) Kern2018-09-06 11:53:26 +0100
committerGitHub2018-09-06 11:53:26 +0100
commitd28a493305238300209c5e469d853a853486cff4 (patch)
tree61952b79cdda9e14bd6be0e3b374f47f381ae44d
parente1746c1229a5c610dbf4e28463f4684b50c13e53 (diff)
parent6ce7b20a7f92ccff2f7f870ff5d116d685310cfd (diff)
Merge pull request #929 from maxer456/mattermost-auth-guide
Add an auth provider guide for Mattermost
-rw-r--r--README.md2
-rw-r--r--docs/guides/auth/mattermost-self-hosted.md58
-rw-r--r--docs/guides/images/auth/mattermost-enable-oauth2.pngbin0 -> 26034 bytes
-rw-r--r--docs/guides/images/auth/mattermost-oauth-app-add.pngbin0 -> 21443 bytes
-rw-r--r--docs/guides/images/auth/mattermost-oauth-app-done.pngbin0 -> 31767 bytes
-rw-r--r--docs/guides/images/auth/mattermost-oauth-app-form.pngbin0 -> 62160 bytes
6 files changed, 59 insertions, 1 deletions
diff --git a/README.md b/README.md
index 78d89121..41632555 100644
--- a/README.md
+++ b/README.md
@@ -202,7 +202,7 @@ There are some config settings you need to change in the files below.
| `CMD_GITLAB_CLIENTID` | no example | GitLab API client id |
| `CMD_GITLAB_CLIENTSECRET` | no example | GitLab API client secret |
| `CMD_GITLAB_VERSION` | no example | GitLab API version (v3 or v4) |
-| `CMD_MATTERMOST_BASEURL` | no example | Mattermost authentication endpoint |
+| `CMD_MATTERMOST_BASEURL` | no example | Mattermost authentication endpoint for versions below 5.0. For Mattermost version 5.0 and above, see [guide](docs/guides/auth/mattermost-self-hosted.md). |
| `CMD_MATTERMOST_CLIENTID` | no example | Mattermost API client id |
| `CMD_MATTERMOST_CLIENTSECRET` | no example | Mattermost API client secret |
| `CMD_DROPBOX_CLIENTID` | no example | Dropbox API client id |
diff --git a/docs/guides/auth/mattermost-self-hosted.md b/docs/guides/auth/mattermost-self-hosted.md
new file mode 100644
index 00000000..631aabd3
--- /dev/null
+++ b/docs/guides/auth/mattermost-self-hosted.md
@@ -0,0 +1,58 @@
+Authentication guide - Mattermost (self-hosted)
+===
+
+*Note: The Mattermost setup portion of this document is just a quick guide. See the [official documentation](https://docs.mattermost.com/developer/oauth-2-0-applications.html) for more details.*
+
+This guide uses the generic OAuth2 module for compatibility with Mattermost version 5.0 and above.
+
+1. Sign-in with an administrator account to your Mattermost instance
+2. Make sure **OAuth 2.0 Service Provider** is enabled in the Main Menu (menu button next to your username in the top left corner) --> System Console --> Custom Integrations menu, which you can find at `https://your.mattermost.domain/admin_console/integrations/custom`
+
+![mattermost-enable-oauth2](../images/auth/mattermost-enable-oauth2.png)
+
+3. Navigate to the OAuth integration settings through Main Menu --> Integrations --> OAuth 2.0 Applications, at `https://your.mattermost.domain/yourteam/integrations/oauth2-apps`
+4. Click on the **Add OAuth 2.0 Application** button to add a new OAuth application
+
+![mattermost-oauth-app-add](../images/auth/mattermost-oauth-app-add.png)
+
+5. Fill out the form and click **Save**
+
+![mattermost-oauth-app-form](../images/auth/mattermost-oauth-app-form.png)
+
+*Note: The callback URL is \<your-codimd-url\>/auth/oauth2/callback*
+
+6. After saving the application, you'll receive the Client ID and Client Secret
+
+![mattermost-oauth-app-done](../images/auth/mattermost-oauth-app-done.png)
+
+7. Add the Client ID and Client Secret to your config.json file or pass them as environment variables
+ * config.json:
+ ````javascript
+ {
+ "production": {
+ "oauth2": {
+ "baseURL": "https://your.mattermost.domain",
+ "userProfileURL": "https://your.mattermost.domain/api/v4/users/me",
+ "userProfileUsernameAttr": "id",
+ "userProfileDisplayNameAttr": "username",
+ "userProfileEmailAttr": "email",
+ "tokenURL": "https://your.mattermost.domain/oauth/access_token",
+ "authorizationURL": "https://your.mattermost.domain/oauth/authorize",
+ "clientID": "ii4p1u3jz7dXXXXXXXXXXXXXXX",
+ "clientSecret": "mqzzx6fydbXXXXXXXXXXXXXXXX"
+ }
+ }
+ }
+ ````
+ * environment variables:
+ ````
+ CMD_OAUTH2_BASEURL=https://your.mattermost.domain
+ CMD_OAUTH2_USER_PROFILE_URL=https://your.mattermost.domain/api/v4/users/me
+ CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR=id
+ CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR=username
+ CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR=email
+ CMD_OAUTH2_TOKEN_URL=https://your.mattermost.domain/oauth/access_token
+ CMD_OAUTH2_AUTHORIZATION_URL=https://your.mattermost.domain/oauth/authorize
+ CMD_OAUTH2_CLIENT_ID=ii4p1u3jz7dXXXXXXXXXXXXXXX
+ CMD_OAUTH2_CLIENT_SECRET=mqzzx6fydbXXXXXXXXXXXXXXXX
+ ````
diff --git a/docs/guides/images/auth/mattermost-enable-oauth2.png b/docs/guides/images/auth/mattermost-enable-oauth2.png
new file mode 100644
index 00000000..af5cdbe2
--- /dev/null
+++ b/docs/guides/images/auth/mattermost-enable-oauth2.png
Binary files differ
diff --git a/docs/guides/images/auth/mattermost-oauth-app-add.png b/docs/guides/images/auth/mattermost-oauth-app-add.png
new file mode 100644
index 00000000..4a8cdfa7
--- /dev/null
+++ b/docs/guides/images/auth/mattermost-oauth-app-add.png
Binary files differ
diff --git a/docs/guides/images/auth/mattermost-oauth-app-done.png b/docs/guides/images/auth/mattermost-oauth-app-done.png
new file mode 100644
index 00000000..fcf1beaf
--- /dev/null
+++ b/docs/guides/images/auth/mattermost-oauth-app-done.png
Binary files differ
diff --git a/docs/guides/images/auth/mattermost-oauth-app-form.png b/docs/guides/images/auth/mattermost-oauth-app-form.png
new file mode 100644
index 00000000..215947bf
--- /dev/null
+++ b/docs/guides/images/auth/mattermost-oauth-app-form.png
Binary files differ