Zum Hauptinhalt springen

BlueMind

Dieser Leitfaden erklärt, wie man die Single Sign-On (SSO) Konfiguration zwischen SmartLink und BlueMind mit SAML 2.0 oder OpenID Connect einrichtet.

Voraussetzungen

  • BlueMind Version 4.0 oder höher
  • Administratorzugriff auf BlueMind
  • Aktiviertes SSO BlueMind-Modul
  • Anwendung in SmartLink mit SAML2 oder OpenID Connect konfiguriert

Konfiguration mit SAML 2.0 (Empfohlen)

1. Anwendung erstellen

  1. Melden Sie sich als Administrator bei SmartLink an
  2. Gehen Sie zu AnwendungenHinzufügen
  3. Erstellen Sie eine neue Anwendung:
    • Name: BlueMind
    • URL: https://bluemind.example.com
    • Beschreibung: Vollständige kollaborative Messaging-Plattform
    • Symbol: Wählen Sie das BlueMind-Symbol aus

2. SAML2 konfigurieren

  1. Im Authentifizierungs-Tab
  2. Wählen Sie SAML2
  3. Konfigurieren Sie die folgenden Parameter:
    • Entity ID: https://[your-smartlink].link.vaultys.org/[appid]
    • ACS URL: https://bluemind.example.com/saml2/SSO
    • Format NameID: emailAddress
    • App ID: [appid] (automatisch generierte eindeutige Kennung)

3. Metadaten abrufen

Notieren Sie sich die folgenden URLs:

  • IdP Metadaten: https://[your-smartlink].link.vaultys.org/api/saml2/[appid]/metadata
  • SSO URL: https://[your-smartlink].link.vaultys.org/api/saml2/sso/[appid]
  • SLO URL: https://[your-smartlink].link.vaultys.org/api/saml2/slo/[appid]
  • Entity ID: https://[your-smartlink].link.vaultys.org/[appid]
  • X.509 Zertifikat: Herunterladen von SmartLink

Konfiguration in BlueMind

1. Zugriff auf die Administrationskonsole

  1. Melden Sie sich bei der BlueMind-Administrationskonsole an
  2. Gehen Sie zu SicherheitAuthentifizierung
  3. Klicken Sie auf SAML-Konfiguration

2. Konfiguration des Identitätsanbieters

Konfigurieren Sie die SAML-Parameter:

  • Entity ID: https://[your-smartlink].link.vaultys.org/[appid]
  • SSO URL: https://[your-smartlink].link.vaultys.org/api/saml2/sso/[appid]
  • SLO URL: https://[your-smartlink].link.vaultys.org/api/saml2/slo/[appid]
  • Öffentlicher Schlüssel: Importieren Sie das X.509 Zertifikat von SmartLink

3. Attributkonfiguration

BlueMind AttributSAML AttributErforderlich
E-Mailemail
AnzeigenamedisplayName
VornamegivenName
Nachnamesn
GruppenmemberOf

Konfiguration mit OpenID Connect

1. OpenID Connect konfigurieren

  1. In der BlueMind-Anwendung
  2. Tab AuthentifizierungOpenID Connect
  3. Notieren Sie:
    • Client ID: bluemind-xxxxxx
    • Client Secret: secret-xxxxxx
    • App ID: [appid]

2. Weiterleitungs-URLs hinzufügen

https://bluemind.example.com/auth/oidc/callback
https://bluemind.example.com/api/auth/oidc/callback

Konfiguration in BlueMind

  1. In SicherheitAuthentifizierungOpenID Connect
  2. Konfigurieren Sie:
{
"provider": {
"issuer": "https://[your-smartlink].link.vaultys.org",
"discovery_url": "https://[your-smartlink].link.vaultys.org/api/oidc/[appid]/.well-known/openid-configuration",
"client_id": "bluemind-xxxxxx",
"client_secret": "secret-xxxxxx",
"scopes": ["openid", "profile", "email", "groups"]
}
}

Konfiguration von Domänen und Benutzern

Multi-Domänen-Verwaltung

domains:
- name: "example.com"
authentication: "sso"
default_quota: "10GB"
services:
- email
- calendar
- contacts
- chat

- name: "branch.example.com"
authentication: "sso"
default_quota: "5GB"
services:
- email
- calendar

Automatische Bereitstellung

{
"provisioning": {
"enabled": true,
"create_on_first_login": true,
"default_settings": {
"mailbox_quota": "5368709120",
"calendar_enabled": true,
"contacts_enabled": true,
"im_enabled": true,
"videoconference_enabled": true
},
"group_mapping": {
"smartlink-admins": "bm_admins",
"smartlink-users": "bm_users",
"smartlink-external": "bm_external"
}
}
}

Konfiguration von BlueMind-Services

Messaging

mail_settings:
imap:
enabled: true
port: 143
ssl_port: 993

smtp:
enabled: true
port: 25
submission_port: 587
ssl_port: 465

webmail:
theme: "corporate"
default_view: "conversation"
compose_format: "html"

Kalender und Kontakte

{
"calendar": {
"default_sharing": "free_busy",
"working_hours": {
"start": "09:00",
"end": "18:00",
"days": ["mon", "tue", "wed", "thu", "fri"]
}
},
"contacts": {
"corporate_directory": true,
"ldap_sync": false,
"carddav_enabled": true
}
}

Chat und Videokonferenz

chat_settings:
xmpp:
enabled: true
domain: "chat.example.com"
conference_domain: "conference.chat.example.com"

video:
provider: "jitsi"
jitsi_url: "https://meet.example.com"
default_room_settings:
require_password: false
enable_lobby: true
record_enabled: false

Integration mit Clients

Thunderbird-Konfiguration

<!-- Autodiscover für Thunderbird -->
<clientConfig version="1.1">
<emailProvider id="bluemind.example.com">
<domain>example.com</domain>
<displayName>BlueMind - Beispiel</displayName>
<displayShortName>BlueMind</displayShortName>
<incomingServer type="imap">
<hostname>bluemind.example.com</hostname>
<port>993</port>
<socketType>SSL</socketType>
<authentication>OAuth2</authentication>
<username>%EMAILADDRESS%</username>
</incomingServer>
<outgoingServer type="smtp">
<hostname>bluemind.example.com</hostname>
<port>587</port>
<socketType>STARTTLS</socketType>
<authentication>OAuth2</authentication>
<username>%EMAILADDRESS%</username>
</outgoingServer>
</emailProvider>
</clientConfig>

Mobile Konfiguration (ActiveSync)

{
"activesync": {
"enabled": true,
"url": "https://bluemind.example.com/Microsoft-Server-ActiveSync",
"require_ssl": true,
"device_policy": {
"require_password": true,
"min_password_length": 6,
"require_encryption": true,
"allow_simple_password": false,
"max_failed_attempts": 10,
"remote_wipe_enabled": true
}
}
}

BlueMind API mit SSO

Client-API mit SSO-Authentifizierung

import requests
from datetime import datetime

class BlueMindAPI:
def __init__(self, base_url, sso_token):
self.base_url = base_url
self.session = requests.Session()
self.session.headers.update({
'Authorization': f'Bearer {sso_token}',
'Content-Type': 'application/json'
})

def get_user_info(self, email):
"""Benutzerinformationen abrufen"""
response = self.session.get(
f'{self.base_url}/api/user/{email}'
)
return response.json()

def create_calendar_event(self, user_email, event_data):
"""Kalenderereignis erstellen"""
response = self.session.post(
f'{self.base_url}/api/calendar/{user_email}/events',
json=event_data
)
return response.json()

def send_email(self, email_data):
"""E-Mail über die API senden"""
response = self.session.post(
f'{self.base_url}/api/mail/send',
json=email_data
)
return response.json()

BlueMind-Webhooks

// Endpunkt für BlueMind-Webhooks
app.post('/webhook/bluemind', async (req, res) => {
const { event, data } = req.body;

switch(event) {
case 'user.login':
await logUserAccess(data);
break;

case 'mail.received':
await processIncomingMail(data);
break;

case 'calendar.event.created':
await syncCalendarEvent(data);
break;

case 'contact.updated':
await updateContactInCRM(data);
break;
}

res.status(200).send('OK');
});

Konfigurationstest

1. Web-Verbindungstest

  1. Melden Sie sich von BlueMind ab
  2. Gehen Sie zu https://bluemind.example.com
  3. Klicken Sie auf SSO-Verbindung
  4. Authentifizieren Sie sich über SmartLink
  5. Überprüfen Sie den Zugriff auf das Messaging

2. IMAP/SMTP-Test mit SSO

# IMAP-Test mit OAuth2
openssl s_client -connect bluemind.example.com:993 -crlf
A01 AUTHENTICATE XOAUTH2 [base64_encoded_token]

# SMTP-Test mit OAuth2
openssl s_client -connect bluemind.example.com:587 -starttls smtp
AUTH XOAUTH2 [base64_encoded_token]

3. Client-Tests

  • Thunderbird: Automatische Konfiguration über Autodiscover
  • Outlook: Unterstützung von ActiveSync und OAuth2
  • Mobile: BlueMind iOS/Android-Apps mit SSO

Fehlerbehebung

Fehler "SAML-Authentifizierung fehlgeschlagen"

Problem: Die SAML-Authentifizierung schlägt fehl

Lösung:

  1. Überprüfen Sie, ob die Entity ID [appid] ist
  2. Überprüfen Sie das Format des X.509-Zertifikats
  3. Überprüfen Sie die Logs: /var/log/bluemind/core.log
  4. Testen Sie mit SAML-Tracer (Browser-Erweiterung)

Fehler "Benutzer nicht gefunden"

Problem: Der SSO-Benutzer wird nicht gefunden

Lösung:

  1. Stellen Sie sicher, dass die automatische Bereitstellung aktiviert ist
  2. Stellen Sie sicher, dass die E-Mail der BlueMind-Domäne entspricht
  3. Überprüfen Sie das E-Mail-Attribut in der SAML-Assertion

Gruppensynchronisierungsproblem

Problem: Gruppen werden nicht korrekt zugeordnet

Lösung:

<!-- Richtige Formatierung für SAML-Gruppen -->
<saml:Attribute Name="memberOf">
<saml:AttributeValue>CN=bluemind-admins,OU=Groups,DC=example,DC=com</saml:AttributeValue>
<saml:AttributeValue>CN=bluemind-users,OU=Groups,DC=example,DC=com</saml:AttributeValue>
</saml:Attribute>

ActiveSync-Fehler mit SSO

Problem: ActiveSync funktioniert nicht mit SSO

Lösung:

  1. Generieren Sie ein Anwendungs-Passwort für ActiveSync
  2. Verwenden Sie OAuth2, wenn vom Client unterstützt
  3. Konfigurieren Sie moderne Authentifizierung in Exchange/ActiveSync

Sicherheit

Empfohlene Konfiguration

{
"security_settings": {
"enforce_sso": true,
"session_timeout": "8h",
"tls_version": "1.2",
"cipher_suites": [
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
],
"antivirus": {
"enabled": true,
"engine": "clamav",
"scan_on_receive": true
},
"antispam": {
"enabled": true,
"threshold": 5.0,
"quarantine": true
},
"audit": {
"log_authentication": true,
"log_email_access": true,
"retention": "365d"
}
}
}

Compliance

  • GDPR: Konform mit Hosting in Frankreich
  • Verschlüsselung: TLS 1.2+ für Kommunikation
  • Gesetzliche Archivierung: Nativer Support
  • DLP: Datenverlustpräventionsregeln

Ressourcen