From 6ce7b20a7f92ccff2f7f870ff5d116d685310cfd Mon Sep 17 00:00:00 2001 From: Ondřej Slabý Date: Tue, 28 Aug 2018 11:00:00 +0200 Subject: Add an auth provider guide for Mattermost Signed-off-by: Ondřej Slabý --- docs/guides/auth/mattermost-self-hosted.md | 58 +++++++++++++++++++++ .../images/auth/mattermost-enable-oauth2.png | Bin 0 -> 26034 bytes .../images/auth/mattermost-oauth-app-add.png | Bin 0 -> 21443 bytes .../images/auth/mattermost-oauth-app-done.png | Bin 0 -> 31767 bytes .../images/auth/mattermost-oauth-app-form.png | Bin 0 -> 62160 bytes 5 files changed, 58 insertions(+) create mode 100644 docs/guides/auth/mattermost-self-hosted.md create mode 100644 docs/guides/images/auth/mattermost-enable-oauth2.png create mode 100644 docs/guides/images/auth/mattermost-oauth-app-add.png create mode 100644 docs/guides/images/auth/mattermost-oauth-app-done.png create mode 100644 docs/guides/images/auth/mattermost-oauth-app-form.png (limited to 'docs/guides') 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 \/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 Binary files /dev/null and b/docs/guides/images/auth/mattermost-enable-oauth2.png 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 Binary files /dev/null and b/docs/guides/images/auth/mattermost-oauth-app-add.png 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 Binary files /dev/null and b/docs/guides/images/auth/mattermost-oauth-app-done.png 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 Binary files /dev/null and b/docs/guides/images/auth/mattermost-oauth-app-form.png differ -- cgit v1.2.3