Beiträge in diesem Abschnitt

SSO

TABLE OF CONTENTS

 

Umfang und Zielgruppe

Dieses Dokument beschreibt die technischen Details der Integration des Benutzermanagementsystems einer Organisation mit GO+ LMS zur Aktivierung der Single Sign On (SSO) Funktion. Die GO+ LMS SSO-Funktionalität erstellt oder aktualisiert automatisch Benutzerinformationen aus dem Benutzermanagementsystem der Organisation, jedes Mal wenn ein Benutzer sich mit SSO anmeldet.

 

Voraussetzungen

Nehmen Sie Kontakt mit dem TicTac-Support auf, um SSO für Ihr Portal zu aktivieren.

 

Definitionen

Ihr Portal - das individuell angepasste GO+ LMS Portal für Ihre Organisation. In den folgenden Beispielen wird es als https://x.onlineacademy.se beschrieben, wobei x durch den Namen Ihres Portals ersetzt werden muss.

 

SSO - SAML2

Dieser Abschnitt beschreibt, wie SAML2 SSO in Ihrem Portal aktiviert wird.

  1. Senden Sie das SAML2 Identity Provider-Metadaten an die dafür vorgesehene Support-Person bei TicTac. Die Metadaten müssen Folgendes enthalten:
  • entityId - URI
  • X509cert - Base64 encoded X509 certificate (kann selbstsigniert sein)
  • singleSignOnUrl - URL
  • singleSignOutUrl - URL (optional)
  • TicTac wird den SAML2-Service erstellen und Ihnen eine Service-ID zur Verfügung stellen.
  • Navigieren Sie zu Ihrem Portal unter https://x.onlineacademy.se/sso/metadata/serviceId (serviceId ist die in Schritt 2 oben an Sie zurückgegebene Service-ID). Der Link liefert Ihnen das SAML2 Service Provider-Metadaten-XML, das in Ihrem Identity Provider installiert werden muss.

Benutzer-ID

Die Benutzer-ID, die auf Ihrem Portal präsentiert wird, muss innerhalb Ihrer Organisation eindeutig sein. Zulässige UID:

  • E-Mail (Zeichenkette) - eine eindeutige E-Mail-Adresse innerhalb Ihrer Organisation.
  • Benutzer-ID (Zeichenkette) - eine eindeutige ID (z. B. Mitarbeiter-ID) des Benutzers innerhalb Ihrer Organisation.

GO+ LMS erkennt automatisch, ob die bereitgestellte Benutzer-ID eine E-Mail-Adresse oder eine Benutzer-ID ist.

Hinweis: Wenn die GO LMS REST API zusammen mit SSO in die Integration einbezogen wird, ist es gut zu wissen, dass dieselbe Benutzer-ID wie oben erwähnt demjenigen entspricht, was in der GO+ LMS REST API-Dokumentation als Benutzername bezeichnet wird. Sowohl API als auch SSO verwalten Anmeldung von Benutzern auf Basis von E-Mail oder Benutzer-ID (Benutzername).

 

Benutzerattribute

Um die Vorteile von SSO vollständig nutzen zu können, muss der Identity Provider Attribute für den Benutzer zuweisen, die in Ihrem Portal aktualisiert werden sollen. Unterstützte Attribute sind in Anhang 1 definiert.

 

Das Tag-Set und wie man das Gruppenattribut verwendet

Es ist wichtig, das API-ID-Format und die Gruppentag-Namen zu verstehen und wie sie mit den Schülertag-Tags der Benutzer verbunden sind. Nachfolgend finden Sie eine Beschreibung, wie Sie es in Zusammenhang mit SSO verwenden und wie es mit dem korreliert, was Sie in der Admin-Benutzeroberfläche im Portal sehen.

Intern transformiert das Portal Tag-Namen in eindeutige IDs unter jedem Tag-Set, die zur Referenzierung des Tags verwendet werden können. Im Gruppenattribut werden die Tag-Set-ID und die Tag-ID verwendet, um es zu identifizieren. Beachten Sie jedoch, dass es auch möglich ist, den tatsächlichen Tag-Namen im Gruppenattributfeld zu verwenden, da das Portal den Namen in ein Format transformiert, das nur a-z, 0-9 und '-' verwendet. Alle Buchstaben in den Namen werden in diesen Bereich transformiert und Leerzeichen werden durch '-' ersetzt.

Als Super-Admin können Sie den Wert von API-ID für ein Tag anzeigen, indem Sie unter der Tags-Seite in Ihrem Portal "Erweiterte Einstellungen anzeigen" überprüfen.

Wenn eine Tag-ID nicht vorhanden ist, die beim SSO-Login übergeben wird, wird sie im Stamm des angegebenen Tag-Sets erstellt. Der Tag-Wert wird als Tag-Name verwendet und dann wird der Name ebenfalls in eine gültige API-ID transformiert und im Portal gespeichert. Sie können ihn dann später in der Admin-Benutzeroberfläche manuell in einen Unterordner im Tag-Set verschieben, falls erforderlich. Es behält die API-ID, auch wenn es verschoben wird.

 

Installation testen

Navigieren Sie zu Ihrem Portal https://x.onlineacademy.se. Je nach Setup werden Sie automatisch an den SSO Identity Provider weitergeleitet oder es wird Ihnen ein Link präsentiert, um an den SSO Identity Provider weitergeleitet zu werden. Nach erfolgreicher Authentifizierung sollten Sie automatisch angemeldet werden.

 

SSO - Zugriffs-URL mit freigegebenem Geheimnis

Der auf Zugriffs-URL basierende SSO ist eine nicht standardmäßige GO+ LMS-Lösung zur Aktivierung von SSO.

Dieser Abschnitt beschreibt, wie Sie Zugriffs-URL-SSO in Ihrem Portal aktivieren können.

  1. Senden Sie die folgenden Informationen an den Kundendienst:
    • Login-URL - die URL, zu der Benutzer weitergeleitet werden sollen, um SSO durchzuführen (in der Regel eine URL zu Ihrem Intranet).
    • Secret - Eine oder mehrere Geheimnisse (Zeichenfolge), die zur Authentifizierung der Zugriffs-URL verwendet werden sollten.
  2. TicTac informiert Sie, wenn der Access-URL-Dienst installiert ist und stellt Ihnen eine Service-ID für den SSO-Dienst zur Verfügung.
  3. Navigieren Sie zu Ihrem Portal unter https://x.onlineacademy.se/sso/init/serviceId (Service-ID ist die in Schritt 2 oben an Sie zurückgegebene Service-ID), und Sie werden automatisch zur in Schritt 1a oben angegebenen Login-URL weitergeleitet.

Implementierung

Die Zugriffs-URL muss implementiert werden, da sie auf dynamisch generierten URLs basiert, die in Ihrem Portal validiert werden, um SSO durchzuführen.

Das Format für die Zugriffs-URLs lautet: https://x.onlineacademy.se/sso/login/serviceId?data=DATA&sig=SIG.

Die Implementierung der Daten erfolgt durch ein JSON-codiertes Objekt mit unterstützten Attributen, die in Anhang 1 definiert sind.

Ein zusätzliches erforderliches Attribut ist der 'timestamp' (int). Das Zeitstempelattribut ist erforderlich, um einen Gültigkeitszeitrahmen für die Zugriffs-URL zu definieren. Der Zeitstempel wird als Sekunden seit dem Epoch-Zeitpunkt (1. Januar 1970, 00:00:00 UTC) definiert. Zugriffs-URLs sind nur ∓ 1 Stunde ab dem Zeitstempel gültig.

Pseudocode zur Erstellung des DATA- und SIG-Werts:

A = jsonEncode(attributes);

SIG = base64Encode(HMAC(“sha256”,A,Secret);

DATA = base64Encode(A);

 

Testen der Installation:

Navigieren Sie zu Ihrem Portal https://x.onlineacademy.se. Je nach Einrichtung werden Sie automatisch an den SSO-Identitätsanbieter weitergeleitet oder es wird ein Link präsentiert, über den Sie an den SSO-Identitätsanbieter weitergeleitet werden können. Nach erfolgreicher Authentifizierung sollten Sie automatisch eingeloggt werden.

Implementierung: Beispiel PHP

$attributes = [

“email” => “some.onesson@somedomain.com”,

“id” => “employeeId”,

“firstName” => “Some”,

“lastName” => “Onesson”,

“timestamp” => time(),

“groups” => “org:HR,org:Admins”

];




$json = json_encode($attributes);

$sig =  base64_encode(hash_hmac("sha256", $json, $secret));

$data = base64_encode($json);




$url = “https://x.onlineacademy.se/sso/login/serviceId?data={$data}&sig={$sig}”

 

Anhang 1 - SSO-Attribute

Die folgenden SSO-Attribute werden von GO+ LMS SSO unterstützt. Das Benutzerkonto innerhalb von GO+ LMS wird jedes Mal mit den Attributwerten synchronisiert/erstellt, wenn sich ein Benutzer über SSO angemeldet hat.

Attribute

Type

Required

Comment

id

String

Wenn die E-Mail-Adresse ausgelassen wird.

Die Benutzer-ID ist eindeutig für alle Benutzer innerhalb Ihres Portals. Sie könnte beispielsweise zur Modellierung der Mitarbeiter-Nummer oder eines Benutzernamens verwendet werden.

email

String

Wenn die ID ausgelassen wird.

 

firstName

String

Wenn fullName ausgelassen wird

 

lastName

String

Wenn fullName ausgelassen wird

 

fullName

String

Wenn firstName und lastName ausgelassen werden

Wenn das Attribut fullName verwendet wird, wird es intern in die Werte firstName und lastName durch den ersten Leerzeichen-Separator aufgeteilt. Es wird empfohlen, stattdessen Vor- und Nachnamen zu verwenden, sofern diese in Ihrem System verfügbar sind.

company

String

Nein

 

city

String

Nein

 

country

String

Nein

 

phone

String

Nein

Die Telefonnummer muss das E.164-Format verwenden. E.164 ist ein Standard für die Telefonnummer-Struktur, die für die internationale Telekommunikation verwendet wird. Telefonnummern, die diesem Format folgen, können maximal 15 Ziffern haben und sollten vorzugsweise mit dem Pluszeichen (+) und dem Ländercode versehen werden.

HINWEIS: Der Ländercode ist erforderlich, wenn der SMS-Dienst im Portal verwendet wird.

language

String

Nein

Der ISO-Code der Sprache des Benutzers. Unterstützte Sprachen sind 'sv', 'dk', 'en', 'no' und 'de'. Wenn der Code ausgelassen wird, wird die Standardsprache des Portals verwendet.

groups

String

Nein

Das Gruppenattribut ist eine durch Kommas getrennte Liste der Studenten-Tags des Benutzers im Format "tagSetApiId:tagApiId1, .. , tagSetApiId:tagApiIdN".

Die Tag-Gruppen bestimmen, auf welche Kurse der Benutzer zugreifen kann.

Beispiel: org:production, role:team_leader

Die API-IDs für Tags und Tag-Sets können im Tag-Bereich der Admin-Ansicht des Portals bearbeitet werden, wenn die Option "Erweiterte Einstellungen anzeigen" aktiviert ist.

Bitte beachten Sie: Tagset und TagApiId dürfen keine "," oder ":" enthalten, da sie als Trennzeichen der Gruppenzeichenkette verwendet werden.

redirectUrl

String

Nein

Optionale URL, wenn Sie den Benutzer nach erfolgreichem Login zu einer bestimmten Seite von GO! LMS weiterleiten möchten.

 

Kontaktinformationen

Für technische Fragen wenden Sie sich bitte an die Entwicklungsabteilung von TicTac Interactive AB.

E-Mail: tictac@tictacsupport.se

 



War dieser Beitrag hilfreich?
0 von 0 fanden dies hilfreich