Mattermost
This guide explains how to set up Single Sign-On (SSO) between SmartLink and Mattermost. Mattermost supports both SAML2 and OpenID Connect in the Professional and Enterprise editions.
Prerequisites
- Mattermost version 5.0+ (SAML2) or 5.35+ (OpenID Connect)
- Mattermost Professional or Enterprise Edition
- System administrator access to Mattermost
- Application configured in SmartLink
Configuration with OpenID Connect (Recommended)
Configuration in SmartLink
1. Create the application
- Log in to SmartLink as an administrator
- Go to Applications → Add
- Create a new application:
- Name: Mattermost
- URL:
https://mattermost.example.com - Description: Team messaging platform
- Icon: Choose the Mattermost icon
2. Configure OpenID Connect
- In the Authentication tab
- Select OpenID Connect
- Note the information:
- Client ID:
mattermost-xxxxxx - Client Secret:
secret-xxxxxx - Issuer URL:
https://your-smartlink.link.vaultys.org - App ID:
[appid](unique application identifier in SmartLink)
- Client ID:
3. Allowed Redirect URLs
Add to Allowed Redirect URLs:
https://mattermost.example.com/signup/openid/complete
https://mattermost.example.com/login/openid/complete
4. Required Scopes
openidprofileemailgroups(optional, for team synchronization)
Configuration in Mattermost
1. Via System Console
- Log in as a system administrator
- Go to System Console → Authentication → OpenID Connect
- Enable Enable OpenID Connect Authentication
2. Configure the settings
Configure the following fields:
- Select OpenID Connect Service Provider:
Custom - Button Name:
SmartLink SSO - Button Color:
#0066CC - Discovery Endpoint:
https://your-smartlink.link.vaultys.org/api/oidc/[appid]/.well-known/openid-configuration - Client ID:
mattermost-xxxxxx - Client Secret:
secret-xxxxxx
3. Advanced Configuration (optional)
If automatic discovery does not work, configure manually:
- Authorization Endpoint:
https://your-smartlink.link.vaultys.org/api/oidc/[appid]/authorize - Token Endpoint:
https://your-smartlink.link.vaultys.org/api/oidc/[appid]/token - User API Endpoint:
https://your-smartlink.link.vaultys.org/api/oidc/[appid]/userinfo
4. Attribute Mapping
- ID Attribute:
sub - Username Attribute:
email - Email Attribute:
email - First Name Attribute:
given_name - Last Name Attribute:
family_name - Nickname Attribute:
nickname - Position Attribute:
title - Language Attribute:
locale - Picture Attribute:
picture
Configuration via config.json
For file-based configuration:
{
"GitLabSettings": {
"Enable": true,
"Secret": "",
"Id": "",
"Scope": "",
"AuthEndpoint": "",
"TokenEndpoint": "",
"UserApiEndpoint": "",
"DiscoveryEndpoint": "https://your-smartlink.link.vaultys.org/api/oidc/[appid]/.well-known/openid-configuration",
"ButtonText": "SmartLink SSO",
"ButtonColor": "#0066CC"
},
"OpenIdSettings": {
"Enable": true,
"Secret": "secret-xxxxxx",
"Id": "mattermost-xxxxxx",
"Scope": "openid profile email groups",
"AuthEndpoint": "https://your-smartlink.link.vaultys.org/api/oidc/[appid]/authorize",
"TokenEndpoint": "https://your-smartlink.link.vaultys.org/api/oidc/[appid]/token",
"UserApiEndpoint": "https://your-smartlink.link.vaultys.org/api/oidc/[appid]/userinfo",
"DiscoveryEndpoint": "https://your-smartlink.link.vaultys.org/api/oidc/[appid]/.well-known/openid-configuration",
"ButtonText": "SmartLink SSO",
"ButtonColor": "#0066CC"
}
}
Configuration with SAML2
Configuration in SmartLink
1. Configure SAML2
- In the Mattermost application
- Authentication tab → SAML2
- Configure:
- Entity ID:
https://mattermost.example.com - ACS URL:
https://mattermost.example.com/login/sso/saml - NameID Format:
emailAddressorpersistent
- Entity ID:
2. Download the metadata
- IdP Metadata:
https://your-smartlink.link.vaultys.org/api/saml2/[appid]/metadata - SSO URL:
https://your-smartlink.link.vaultys.org/api/saml2/[appid]/sso - SLO URL:
https://your-smartlink.link.vaultys.org/api/saml2/[appid]/slo - X.509 Certificate: Download from SmartLink
Configuration in Mattermost
1. Via System Console
- System Console → Authentication → SAML 2.0
- Enable Enable Login With SAML 2.0
2. Configure SAML settings
- Identity Provider Metadata URL:
https://your-smartlink.link.vaultys.org/api/saml2/[appid]/metadata
Or manual configuration:
- SAML SSO URL:
https://your-smartlink.link.vaultys.org/api/saml2/[appid]/sso - Identity Provider Issuer URL:
https://your-smartlink.link.vaultys.org - Identity Provider Public Certificate: Paste the X.509 certificate
3. Service Provider Configuration
- Service Provider Identifier:
https://mattermost.example.com - Verify Signature:
true - Enable Encryption:
false
4. SAML Attribute Mapping
- Email Attribute:
email - Username Attribute:
username - Id Attribute:
uid - First Name Attribute:
firstName - Last Name Attribute:
lastName - Nickname Attribute:
nickname - Position Attribute:
title - Language Attribute:
preferredLanguage - Login Button Text:
Log in with SmartLink