Login via Microsoft Entra ID
Microsoft Entra ID (vormals Azure Active Directory) ist ein von Microsoft bereitgestellter Identity Provider. Damit ist eine zentrale Benutzerverwaltung via Unternehmensidentität möglich. In diesem Artikel wird beschrieben, wie Microsoft Entra ID konfiguriert und in Ihre bestehende Systemarchitektur eingebunden werden kann.
Im Laufe dieses Artikels werden Sie in ihrer Entra ID Umgebung zwei App-Registrierungen hinzufügen:
- MapEdit Core
- MapEdit Client
Der MapEdit Client meldet sich bei Entra ID an und bekommt lediglich seine eigenen Benutzerinformationen. Diese werden an MapEdit Core weitergeleitet. MapEdit Core überprüft im nächsten Schritt die Gruppenberechtigungen und gibt den Benutzer dementsprechend frei oder nicht.
MapEdit Benutzerrechte
Die Zuweisung von Benutzerrechten in MapEdit erfolgt weiterhin im AppBuilder. Bei Verwendung von Microsoft Entra ID werden die Gruppenmitgliedschaften des Entra ID Benutzers mit den in MapEdit hinterlegten Benutzergruppen abgeglichen. Stimmen die Gruppen überein, erhält der angemeldete Benutzer die Berechtigungen der MapEdit Benutzergruppe.
Voraussetzungen
Für die Integration muss Microsoft Entra ID bereits eingerichtet sein. Diese Dokumentation setzt eine funktionierende Entra ID Instanz inklusive Benutzer- und Gruppenkonfiguration voraus. Die Einrichtung und grundlegende Konfiguration von Entra ID ist nicht Bestandteil dieses Artikels. Weitere Informationen finden Sie in der offiziellen Microsoft-Dokumentation: https://learn.microsoft.com/de-de/entra/identity/
Einrichten der App-Registrierungen
Anmeldung im Microsoft Entra Admin Center
- Öffnen Sie das Microsoft Entra Admin Center (https://entra.microsoft.com/)
- Melde Sie sich mit einem Konto mit den nötigen Administratorrechten an.
App-Registrierung für MapEdit Core einrichten
- Navigieren Sie zu: Identität > App-Registrierungen > + Neue Registrierung
- Name: Tragen Sie MapEdit Core ein
- Unterstützte Kontotypen: Nur Konten in diesem Organisationsverzeichnis (nur "Standardverzeichnis" - einzelner Mandant) oder das für ihr Unternehmen passende
- Umleitungs-URI (optional): Leer lassen
- Klicken Sie auf Registrieren
- Es öffnet sich die gerade registrierte Anwendung, diese finden Sie auch in ihren App-Registrierungen wieder
Berechtigungen setzen
- Innerhalb Ihrer App-Registrierung, navigieren Sie zu: Verwalten > API-Berechtigungen > + Berechtigung hinzufügen
- Wählen Sie Microsoft Graph > Delegierte Berechtigungen
- Bei Berechtigungen auswählen suchen und setzen Sie die Berechtigung für GroupMember.Read.All und User.Read
API bereitstellen
- Innerhalb Ihrer App-Registrierung, navigieren Sie zu: Verwalten > Eine API verfügbar machen > + Bereich hinzufügen
- Bereichsname: Tragen sie access_as_user ein
- Wer darf einwilligen?: Administratoren und Benutzer
- Anzeigename und Beschreibung der Administratoreinwilligung: Tragen Sie hier eine Beschreibung ein, die ihre Administrator sehen werden
- Anzeigename und Beschreibung der Benutzereinwilligung: Analog zur Administratoreinwilligung, nur für Benutzer
Client Secret erstellen
Es ist notwendig ein Client Secret zu erstellen und dies später MapEdit Core bekannt zu geben. Dadurch wird MapEdit Core ermöglicht, sich ohne Nutzerdaten gegen Microsoft Entra ID zu authentifizieren. Dies ist notwendig, da MapEdit Core eine Server Software ist.
- Innerhalb Ihrer App-Registrierung, navigieren Sie zu: Verwalten > Zertifikate & Geheimnisse > Geheime Clientschlüssel > + Neuer geheimer Clientschlüssel
- Beschreibung: Tragen Sie eine Aussagekräftige Beschreibung ein, z.B. secret client key for mapedit core
- Gültig bis: Wählen Sie den von Microsoft empfohlenen Wert, 180 Tage (6 Monate)
- Notieren Sie sich dieses Client Secret. Es wird später bei der Konfiguration von MapEdit Core benötigt
Beachten Sie den Hinweis von Microsoft sobald Sie das Client Secret anlegen. Der Wert muss sofort kopiert werden und an einem sicheren Ort aufbewahrt werden. Nach dem das Client Secret angelegt wurde, ist dies nicht mehr in der Entra ID Instanz sichtbar. Achten Sie außerdem auf die Gültigkeitsdauer des Secret Client Keys. Wir empfehlen, sich einen Reminder zu setzen und das Secret dementsprechend zu erneuern.
App-Registrierung für MapEdit Client einrichten
- Navigieren Sie zu: Identität > App-Registrierungen > + Neue Registrierung
- Name: Tragen Sie MapEdit Client ein
- Unterstützte Kontotypen: Nur Konten in diesem Organisationsverzeichnis (nur "Standardverzeichnis" - einzelner Mandant) oder das für ihr Unternehmen passende
- Umleitungs-URI (optional): Leer lassen
- Klicken Sie auf Registrieren
- Es öffnet sich die gerade registrierte Anwendung, diese finden Sie auch in ihren App-Registrierungen wieder
Berechtigungen setzen
- Innerhalb Ihrer App-Registrierung, navigieren Sie zu: Verwalten > API-Berechtigungen > + Berechtigung hinzufügen
- Wählen Sie Microsoft Graph > Delegierte Berechtigungen
- Bei Berechtigungen auswählen suchen und setzen Sie die Berechtigung für User.Read
- Innerhalb Ihrer App-Registrierung, navigieren Sie zu: Verwalten > API-Berechtigungen > + Berechtigung hinzufügen
- Wählen Sie Eigene APIs im oberen Bereich > mapedit-core (ACHTUNG: Dies taucht nur auf, wenn Sie zuvor MapEdit Core als App-Registrierung eingerichtet haben)
- Wählen Sie Delegierte Berechtigungen > access_as_user
Umleitungen für MapEdit Client einrichten
Es ist notwending, je nach Client eine Umleitungs-URI einzurichten. Aktuell (Stand: 07.05.2025) werden zwei MapEdit Clients unterstützt: MapEdit Mobile Web und MapEdit Mobile iOS
MapEdit Client iOS hinzufügen
- Innerhalb Ihrer App-Registrierung, navigieren Sie zu: Verwalten > Authentifizierung > + Platform hinzufügen
- Wählen Sie iOS/macOS
- Paket-ID: Tragen sie mapedit ein > Wählen Sie Konfigurieren
- Danach sind Sie erneut in der Übersicht der Umleitungs-URI, in der Kategorie iOS/macOS tragen Sie bei der dementsprechenden Paket-ID als Umleitungs-URI folgendes ein: msauth.mapedit://auth
MapEdit Client Web hinzufügen
- Innerhalb Ihrer App-Registrierung, navigieren Sie zu: Verwalten > Authentifizierung > + Platform hinzufügen
- Wählen Sie Single Page Anwendung
- Umleitungs-URI: Tragen Sie hier die Startseite ihrer MapEdit Mobile Web Instanz ein, z.B. https://beta.mapedit.de/mapedit-web/
MapEdit Client mit MapEdit Core verknüpfen
Es ist notwendig, die MapEdit Client App-Registrierung für die MapEdit Core App-Registrierung zu autorisieren.
- Navigieren Sie zu: Identität > App-Registrierungen > MapEdit Core
- Innerhalb Ihrer App-Registrierung, navigieren Sie zu: Verwalten > Eine API verfügbar machen > + Eine Clientanwendung hinzufügen
- Tragen Sie bei Client-ID die Anwendungs-ID (Client) Ihrer MapEdit Client App-Registrierung ein
MapEdit Core System Properties vorbereiten
Um Ihre MapEdit Core Instanz mit Ihrer Microsoft Entra ID Instanz zu verbinden ist es notwendig, MapEdit Core noch zu konfigurieren. Notieren Sie sich dafür die folgenden Werte. Später werden Sie diese als System Properties in MapEdit Core eintragen.
Navigieren Sie zu: Identität > App-Registrierungen > MapEdit Core
In der Übersicht kopieren Sie sich folgende Werte:
- Anwendungs-ID (Client)
- Verzeichnis-ID (Mandant)
In Eine API verfügbar machen kopieren Sie sich den Wert der vorher erstellten API access_as_user, der Wert sollte wie folgt aussehen: api://{ihre-mapedit-core-client-id}/access_as_user
Das Client Secret sollten Sie bereits zu vor gespeichert haben
Navigieren Sie zu: Identität > App-Registrierungen > MapEdit Client
In der Übersicht kopieren Sie sich folgende Werte:
- Anwendungs-ID (Client)
- Verzeichnis-ID (Mandant)
Kopieren Sie sich Ihre erstelleten Umleitungs-URI's für jeden Client
Hinzufügen der neuen System Property
Es ist notwendig, mit Hilfe Management Console des WildFly Servers eine neue System Property hinzuzufügen.
Name | Wert | App-Registrierung |
---|---|---|
MapEdit.EntraID.Authority | https://login.microsoftonline.com/{ihre-mapedit-core-verzeichnis-id} | MapEdit Core |
MapEdit.EntraID.Client.ClientId | Anwendungs-ID (Client) | MapEdit Client |
MapEdit.EntraID.Client.ClientScope | api://{ihre-mapedit-core-client-id}/access_as_user | MapEdit Core |
MapEdit.EntraID.Core.ClientId | Anwendungs-ID (Client) | MapEdit Core |
MapEdit.EntraID.Core.TenantId | Verzeichnis-ID (Mandant) | MapEdit Core |
MapEdit.EntraID.iOS.RedirectURL | msauth.mapedit://auth | MapEdit Client |
MapEdit.EntraID.Web.RedirectURL | Ihre MapEdit Mobile Web Instanz URL | MapEdit Client |
MapEdit.EntraID.ClientSecret | Ihr Client Secret (Achtung: Diesen Weg niemals in Produktiv Umgebungen nutzen!) | MapEdit Core |
Hinzufügen des Client Secrets in Produktivumgebungen
Fügen Sie folgende System Property hinzu und erstellen Sie die referenzierte mapedit-core.properties.
System Property
Name | Wert | App-Registrierung |
---|---|---|
MapEdit.EntraID.ClientSecret.Path | Pfad zur Properties Datei. Beispiel: /opt/secrets/mapedit-core.properties | MapEdit Core |
mapedit-core.properties
client.secret=xxxxxxxxxxxxxxx
Achten Sie darauf, keine Leerzeichen und Leerzeilen in der Datei zu haben!
Beachten Sie, dass die Datei nur von definierten Benutzer gelesen werden kann!