Zum Hauptinhalt springen

Talkspirit

Dieser Leitfaden erklärt Ihnen, wie Sie die Einzelanmeldung (SSO) zwischen SmartLink und Talkspirit mithilfe von SAML 2.0 oder OpenID Connect konfigurieren können.

Voraussetzungen

  • Abonnement für Talkspirit Business oder Enterprise
  • Administratorzugriff auf Talkspirit
  • Überprüfte E-Mail-Domain
  • 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: Talkspirit
    • URL: https://[your-organization].talkspirit.com
    • Beschreibung: Französische All-in-One-Kollaborationsplattform
    • Symbol: Wählen Sie das Talkspirit-Symbol aus

2. SAML2 konfigurieren

  1. Im Reiter Authentifizierung
  2. Wählen Sie SAML2
  3. Konfigurieren Sie die folgenden Parameter:
    • Entity-ID: [appid]
    • ACS-URL: https://[your-organization].talkspirit.com/saml/acs
    • Format NameID: emailAddress
    • App-ID: https://[your-smartlink].link.vaultys.org/[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/[appid]/sso
  • SLO-URL: https://[your-smartlink].link.vaultys.org/api/saml/[appid]/slo
  • Entity-ID: [appid]
  • X.509-Zertifikat: Herunterladen von SmartLink

Konfiguration in Talkspirit

1. Zugriff auf SSO-Einstellungen

  1. Melden Sie sich als Administrator bei Talkspirit an
  2. Gehen Sie zu VerwaltungEinstellungenAuthentifizierung
  3. Klicken Sie auf SSO SAML konfigurieren

2. Konfiguration des Identitätsanbieters

Konfigurieren Sie die SAML-Parameter:

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

3. Attributkonfiguration

Talkspirit-AttributSAML-AttributErforderlich
E-Mailemail
VornamefirstName
NachnamelastName
Vollständiger NamedisplayName
Servicedepartment
FunktionjobTitle
Telefonphone
Fotophoto

Konfiguration mit OpenID Connect

1. OpenID Connect konfigurieren

  1. In der Anwendung Talkspirit
  2. Registerkarte AuthentifizierungOpenID Connect
  3. Notieren Sie:
    • Client-ID: talkspirit-xxxxxx
    • Client-Geheimnis: secret-xxxxxx
    • App-ID: [appid]

2. Weiterleitungs-URLs

Fügen Sie in Zugelassene Weiterleitungs-URLs hinzu:

https://[your-organization].talkspirit.com/auth/oidc/callback
https://[your-organization].talkspirit.com/api/auth/oidc/callback

Konfiguration in Talkspirit

  1. In VerwaltungAuthentifizierungOpenID Connect
  2. Konfigurieren Sie:
  • Discovery-URL: https://[your-smartlink].link.vaultys.org/api/oidc/[appid]/.well-known/openid-configuration
  • Client-ID: talkspirit-xxxxxx
  • Client-Geheimnis: secret-xxxxxx
  • Bereiche: openid profile email groups

Konfiguration von Räumen und Gruppen

Organisationsstruktur

spaces:
- name: "Leitung"
type: "privat"
auto_add_groups:
- "smartlink-executives"
- "smartlink-management"
features:
- chat
- videoconference
- documents
- tasks

- name: "Kommunikation"
type: "öffentlich"
auto_add_groups:
- "smartlink-all-users"
features:
- news
- events
- polls

- name: "Projekte"
type: "Arbeitsbereich"
auto_add_groups:
- "smartlink-project-teams"
features:
- tasks
- calendar
- documents
- wiki

Gruppensynchronisierung

{
"group_sync": {
"enabled": true,
"mapping": {
"smartlink-admins": {
"talkspirit_role": "admin",
"permissions": ["manage_users", "manage_spaces", "manage_settings"]
},
"smartlink-managers": {
"talkspirit_role": "manager",
"permissions": ["create_spaces", "moderate_content", "manage_members"]
},
"smartlink-users": {
"talkspirit_role": "member",
"permissions": ["create_content", "join_spaces", "use_chat"]
},
"smartlink-external": {
"talkspirit_role": "guest",
"permissions": ["view_public", "limited_interaction"]
}
}
}
}

Spezifische Funktionen

Chat und Videokonferenz

communication:
chat:
enabled: true
direct_messages: true
group_chats: true
file_sharing: true
max_file_size: "100MB"
message_retention: "unlimited"

video:
provider: "integriert"
max_participants: 50
aufzeichnung: true
screen_sharing: true
virtuelle_hintergründe: true
breakout_rooms: true

Drive und Dokumentenverwaltung

{
"drive_settings": {
"enabled": true,
"default_quota": "10GB",
"versioning": true,
"co_editing": true,
"office_integration": "onlyoffice",
"file_types_allowed": [
".pdf", ".doc", ".docx", ".xls", ".xlsx",
".ppt", ".pptx", ".png", ".jpg", ".mp4"
],
"antivirus_scan": true,
"encryption_at_rest": true
}
}

Veröffentlichung und Neuigkeiten

publishing:
news_feed:
moderation: true
categories:
- "Unternehmen"
- "HR"
- "Produkte"
- "Veranstaltungen"

engagement:
reactions: ["like", "love", "applause", "idea"]
comments: true
sharing: true
mentions: true
hashtags: true

Integration mit externen Tools

Microsoft 365

{
"microsoft_integration": {
"enabled": true,
"calendar_sync": true,
"contacts_sync": true,
"onedrive_connector": true,
"teams_interop": false
}
}

Google Workspace

{
"google_integration": {
"enabled": true,
"calendar_sync": true,
"drive_connector": true,
"meet_integration": true
}
}

Talkspirit API

API-Authentifizierung mit SSO

const TalkspiritAPI = require('talkspirit-api');

class TalkspiritClient {
constructor(config) {
this.api = new TalkspiritAPI({
baseUrl: config.baseUrl,
auth: {
type: 'oauth2',
clientId: config.clientId,
clientSecret: config.clientSecret,
scope: 'read write admin'
}
});
}

async getUserBySSOEmail(email) {
return await this.api.users.findByEmail(email);
}

async createSpace(spaceData) {
return await this.api.spaces.create({
name: spaceData.name,
type: spaceData.type,
members: spaceData.members,
features: spaceData.features
});
}

async postNews(newsData) {
return await this.api.news.create({
title: newsData.title,
content: newsData.content,
category: newsData.category,
targetGroups: newsData.groups
});
}
}

Webhooks

// Endpunkt zum Empfangen von Talkspirit-Webhooks
app.post('/webhook/talkspirit', async (req, res) => {
const { event, data } = req.body;

switch(event) {
case 'user.joined':
await onboardNewUser(data);
break;

case 'space.created':
await syncSpaceToOtherTools(data);
break;

case 'document.shared':
await notifyRelevantUsers(data);
break;

case 'task.assigned':
await createExternalTask(data);
break;
}

res.status(200).json({ received: true });
});

Konfigurationstest

1. Verbindungstest

  1. Melden Sie sich von Talkspirit ab
  2. Gehen Sie zu https://[your-organization].talkspirit.com
  3. Klicken Sie auf Mit SSO anmelden
  4. Authentifizieren Sie sich über SmartLink
  5. Überprüfen Sie den Zugriff auf zugewiesene Räume

2. Berechtigungstest

# Test über die API
curl -X GET "https://[your-organization].talkspirit.com/api/v1/me" \
-H "Authorization: Bearer YOUR_TOKEN"

3. Mobiler Test

Die Talkspirit-Apps unterstützen SSO:

  • Talkspirit iOS
  • Talkspirit Android
  • Talkspirit Desktop (Windows/Mac/Linux)

Fehlerbehebung

Fehler "Ungültige SAML-Antwort"

Problem: Die SAML-Antwort wird nicht akzeptiert

Lösung:

  1. Stellen Sie sicher, dass die Entity-ID [appid] ist
  2. Überprüfen Sie das X.509-Zertifikat
  3. Stellen Sie sicher, dass die ACS-URL korrekt ist
  4. Überprüfen Sie die Protokolle: VerwaltungProtokolleAuthentifizierung

Gruppen werden nicht synchronisiert

Problem: Benutzer haben nicht die richtigen Rollen

Lösung:

<!-- SAML-Aussage für Gruppen -->
<saml:Attribute Name="groups">
<saml:AttributeValue>smartlink-talkspirit-admins</saml:AttributeValue>
<saml:AttributeValue>smartlink-talkspirit-users</saml:AttributeValue>
</saml:Attribute>

Zugriffsproblem auf Räume

Problem: Der SSO-Benutzer hat keinen Zugriff auf Räume

Lösung:

  1. Überprüfen Sie die Gruppensynchronisierung
  2. Überprüfen Sie die Regeln für die automatische Zuweisung
  3. Überprüfen Sie die Berechtigungen des Raums
  4. Stellen Sie sicher, dass der Benutzer aktiv ist

Sicherheit

Empfohlene Konfiguration

{
"security_settings": {
"enforce_sso": true,
"session_timeout": "8h",
"ip_filtering": false,
"device_trust": true,
"content_moderation": {
"enabled": true,
"ai_powered": true,
"manual_review": true
},
"data_retention": {
"messages": "2y",
"files": "5y",
"logs": "1y"
},
"encryption": {
"at_rest": true,
"in_transit": true,
"e2e_chat": false
}
}
}

DSGVO-Konformität

Talkspirit ist DSGVO-konform mit:

  • Datenhosting in Frankreich
  • Recht auf Vergessenwerden
  • Datenportabilität
  • Explizite Zustimmung
  • Verarbeitungsverzeichnis

Benutzermigration

Migrationskript

import csv
import requests

class TalkspiritMigration:
def __init__(self, api_key, domain):
self.api_key = api_key
self.base_url = f"https://{domain}.talkspirit.com/api/v1"

def migrate_users_to_sso(self, csv_file):
"""Benutzermigration zu SSO"""
with open(csv_file, 'r', encoding='utf-8') as file:
reader = csv.DictReader(file)

for user in reader:
# Aktivieren von SSO für den Benutzer
self.enable_sso_for_user(user['email'])

# Zuweisen zu Räumen
self.assign_user_to_spaces(user['email'], user['spaces'])

# Benachrichtigung senden
self.send_migration_email(user['email'])

def enable_sso_for_user(self, email):
"""Aktiviert SSO für einen Benutzer"""
response = requests.patch(
f"{self.base_url}/users/email/{email}",
headers={"Authorization": f"Bearer {self.api_key}"},
json={"auth_method": "sso"}
)
return response.json()

Ressourcen