Microsoft 365 SSO für das Outlook Add-In

Microsoft Entra ID für Single Sign-On im quickROOMS Outlook Add-In konfigurieren.

Mit dieser Konfiguration melden sich Benutzer im quickROOMS Outlook Add-In über Microsoft 365 an. Dafür werden eine App-Registrierung in Microsoft Entra ID und ein externer OpenID-Connect-Provider im ROOMS IDP eingerichtet.

Voraussetzungen

  • Administrativer Zugriff auf Microsoft Entra ID mit Berechtigung für App-Registrierungen und Administratorzustimmungen
  • HTTPS-Adresse des ROOMS IDP, beispielsweise https://idp.example.com
  • HTTPS-Adresse von quickROOMS, beispielsweise https://wizard.example.com
  • Zugriff auf die Konfiguration des ROOMS IDP

Benötigte Werte

Halten Sie während der Einrichtung folgende Werte bereit. Die Platzhalter werden in den nachfolgenden Schritten wiederverwendet.

WertBeispielVerwendung
IDP-Adressehttps://idp.example.comRedirect-URI und IDP-Konfiguration
quickROOMS-Domainwizard.example.comAnwendungs-ID-URI
Mandanten-ID<TENANT-ID>Entra-ID-Endpunkte im ROOMS IDP
Anwendungs-ID<CLIENT-ID>App-Registrierung und ROOMS IDP
Geheimer Clientschlüssel<CLIENT-SECRET>Vertrauliche Anmeldung des ROOMS IDP

Zusammenhang zwischen Client-ID, Ressource und Add-In-Manifest

Die App-Registrierung besitzt eine Anwendungs-ID (Client-ID). Diese GUID identifiziert die Anwendung in Microsoft Entra ID, beispielsweise:

0f879497-90db-494d-...

Die Anwendungs-ID-URI identifiziert die von dieser Anwendung bereitgestellte Ressource. quickROOMS verwendet dafür folgendes Format:

api://<QUICKROOMS-DOMAIN>/<CLIENT-ID>

Für wizard.example.com ergibt sich beispielsweise:

api://wizard.example.com/0f879497-90db-494d-...

Der delegierte Scope wird an diese Ressourcen-URI angehängt:

api://wizard.example.com/0f879497-90db-494d-.../access_as_user

ROOMS übernimmt die Client-ID und die Anwendungs-ID-URI beim Erzeugen des Outlook-Add-In-Manifests in den Abschnitt WebApplicationInfo:

<WebApplicationInfo>
  <Id>0f879497-90db-494d-...</Id>
  <Resource>api://wizard.example.com/0f879497-90db-494d-...</Resource>
  <Scopes>
    <Scope>openid</Scope>
  </Scopes>
</WebApplicationInfo>
StelleWertBedeutung
Entra-App-Registrierung: Anwendungs-ID (Client-ID)<CLIENT-ID>Identifiziert die Microsoft-Anwendung
Entra-App-Registrierung: Anwendungs-ID-URIapi://<QUICKROOMS-DOMAIN>/<CLIENT-ID>Identifiziert die geschützte quickROOMS-Ressource
Entra-App-Registrierung: Scope<ANWENDUNGS-ID-URI>/access_as_userErlaubt den Zugriff im Namen des angemeldeten Benutzers
Add-In-Manifest: WebApplicationInfo/Id<CLIENT-ID>Verknüpft das Add-In mit der Entra-App-Registrierung
Add-In-Manifest: WebApplicationInfo/Resource<ANWENDUNGS-ID-URI>Bestimmt die Ressource, für die Outlook das SSO-Token anfordert
ROOMS IDP: ExternalOpenIdConnectProvider/ClientId<CLIENT-ID>Verwendet dieselbe Entra-App-Registrierung zur Tokenvalidierung und Anmeldung

Die Client-ID muss somit an drei Stellen übereinstimmen: in der Entra-App-Registrierung, unter WebApplicationInfo/Id im generierten Add-In-Manifest und in der Microsoft-Provider-Konfiguration des ROOMS IDP. Die Anwendungs-ID-URI muss mit WebApplicationInfo/Resource übereinstimmen.

1. App in Microsoft Entra ID registrieren

  1. Öffnen Sie im Microsoft Entra Admin Center Identität → Anwendungen → App-Registrierungen.

  2. Wählen Sie Neue Registrierung.

  3. Erfassen Sie die Anwendung:

    FeldWert
    NameAussagekräftiger Name, beispielsweise 3V ROOMS SSO
    Unterstützte KontotypenIn der Regel Nur Konten in diesem Organisationsverzeichnis
    Plattform der Umleitungs-URIWeb
    Umleitungs-URIhttps://idp.example.com/signin-microsoft
  4. Wählen Sie Registrieren.

  5. Kopieren Sie aus der Übersicht:

    • Anwendungs-ID (Client-ID) als <CLIENT-ID>
    • Verzeichnis-ID (Mandanten-ID) als <TENANT-ID>

2. Geheimen Clientschlüssel erstellen

  1. Öffnen Sie in der App-Registrierung Zertifikate und Geheimnisse → Geheime Clientschlüssel.
  2. Wählen Sie Neuer geheimer Clientschlüssel.
  3. Erfassen Sie eine Beschreibung und ein Ablaufdatum.
  4. Wählen Sie Hinzufügen.
  5. Kopieren Sie sofort den angezeigten Wert als <CLIENT-SECRET>.

3. Microsoft-Graph-Berechtigungen hinzufügen

  1. Öffnen Sie API-Berechtigungen → Berechtigung hinzufügen.
  2. Wählen Sie Microsoft Graph → Delegierte Berechtigungen.
  3. Fügen Sie folgende OpenID-Berechtigungen hinzu:
    • openid
    • profile
    • email
  4. Wählen Sie Administratorzustimmung für Ihren Mandanten erteilen und bestätigen Sie den Dialog.

4. API für das Outlook Add-In bereitstellen

Anwendungs-ID-URI festlegen

  1. Öffnen Sie Eine API verfügbar machen.
  2. Wählen Sie bei Anwendungs-ID-URI die Aktion Festlegen.
  3. Erfassen Sie die URI im folgenden Format:
api://wizard.example.com/<CLIENT-ID>

Die Domain muss mit der Domain übereinstimmen, die im Outlook-Add-In-Manifest verwendet wird.

Bereich access_as_user hinzufügen

  1. Wählen Sie Bereich hinzufügen.

  2. Erfassen Sie den Bereich:

    FeldWert
    Bereichsnameaccess_as_user
    Wer darf zustimmen?Administratoren und Benutzer
    AnzeigenameProfildaten lesen
    BeschreibungErmöglicht dem Outlook Add-In den Zugriff auf die ROOMS Web-API im Namen des Benutzers.
    StatusAktiviert
  3. Wählen Sie Bereich hinzufügen.

Microsoft-Office-Clients vorautorisieren

  1. Wählen Sie Clientanwendung hinzufügen.
  2. Erfassen Sie als Client-ID:
ea5a67f6-b6f3-4338-b240-c655ddc3cc8e
  1. Aktivieren Sie den eben erstellten Bereich access_as_user.
  2. Wählen Sie Anwendung hinzufügen.

5. Zugriffstoken-Version festlegen

  1. Öffnen Sie Manifest.
  2. Setzen Sie innerhalb des Objekts api die Eigenschaft requestedAccessTokenVersion auf 2:
"api": {
  "requestedAccessTokenVersion": 2
}
  1. Wählen Sie Speichern.

6. Microsoft Entra ID im ROOMS IDP konfigurieren

Ergänzen Sie den Microsoft-Provider im Abschnitt ExternalOpenIdConnectProvider der IDP-Konfiguration. Ersetzen Sie die Platzhalter mit den zuvor notierten Werten.

"ExternalOpenIdConnectProvider": [
  {
    "Id": "microsoft",
    "Label": "Microsoft / Entra ID",
    "Authority": "https://login.microsoftonline.com/<TENANT-ID>/v2.0/",
    "ClientId": "<CLIENT-ID>",
    "ClientSecret": "<CLIENT-SECRET>",
    "Scopes": [
      "openid",
      "profile",
      "email"
    ],
    "CallbackPath": "/signin-microsoft",
    "ValidateIssuer": true,
    "Issuer": "https://login.microsoftonline.com/<TENANT-ID>/v2.0",
    "UserIdClaim": "preferred_username",
    "ValidateAudience": false
  }
]
EinstellungBedeutung
AuthorityOpenID-Connect-Endpunkt des Microsoft-Entra-Mandanten
ClientIdAnwendungs-ID der App-Registrierung
ClientSecretWert des geheimen Clientschlüssels
CallbackPathMuss zur Umleitungs-URI /signin-microsoft passen
UserIdClaimMicrosoft-Claim, der dem ROOMS-Login zugeordnet wird

Starten Sie den ROOMS IDP nach der Konfigurationsänderung neu.

Optional: Kontenauswahl bei externer Anmeldung anfordern

Wenn Personen mehrere Microsoft-Konten verwenden, kann die automatische Auswahl eines bereits angemeldeten Kontos zur Anmeldung mit dem falschen Konto führen. Mit Prompt kann der ROOMS IDP bei der Weiterleitung an den externen Anbieter eine Kontenauswahl anfordern.

Sie benötigen Zugriff auf die IDP-Konfiguration und einen bereits eingerichteten externen OpenID-Connect-Provider. Die Einstellung gehört zum jeweiligen Provider unter IdentityServer:ExternalOpenIdConnectProvider, nicht zur Wizard-Konfiguration config.json oder zu den persönlichen ROOMS-Einstellungen.

Ergänzen Sie im bestehenden Microsoft-Provider-Objekt folgende Eigenschaft und starten Sie den ROOMS IDP danach neu. Behalten Sie die übrige Konfiguration bei. Der Ausschnitt ist keine vollständige Provider-Definition:

"Prompt": "select_account"

Wirkung und Grenzen:

  • select_account fordert bei jeder Weiterleitung zur externen Anmeldung die Kontenauswahl an. Die Darstellung und Unterstützung hängen vom externen Anbieter ab.
  • Ohne Prompt sendet ROOMS keinen konfigurierten Provider-Prompt. Eine vom Client angeforderte erneute Anmeldung bleibt möglich.
  • Verlangt der Client ausdrücklich eine erneute Anmeldung mit prompt=login, hat diese Anforderung Vorrang vor dem konfigurierten Provider-Prompt.
  • Die Einstellung wirkt beim Anmeldeweg über diesen externen Provider. Sie steuert nicht die Kontenauswahl in Outlook selbst und erzwingt keine neue Anmeldung bei einer bestehenden ROOMS-Sitzung.
  • Die Einstellung ersetzt weder die Zuordnung des externen Kontos zu einem ROOMS-Login noch die Einrichtung eines lokalen Benutzernamens und Passworts.

Prüfen Sie den externen Anmeldeweg nach der Änderung mit den betroffenen Konten: Wird die Kontenauswahl angeboten, und führt das ausgewählte Konto zum richtigen ROOMS-Benutzer? Um den konfigurierten Provider-Prompt zurückzunehmen, entfernen Sie die Eigenschaft Prompt aus dem Provider-Objekt und starten Sie den ROOMS IDP erneut.

7. Microsoft-Login einer ROOMS-Person zuordnen

Der Wert aus dem Microsoft-Claim preferred_username muss als Login der Person in ROOMS vorhanden sein. Normalerweise erfolgt diese Zuordnung über den Benutzerdatenimport.

Für eine manuelle Zuordnung:

  1. Öffnen Sie Einstellungen → Personen.
  2. Bearbeiten Sie die gewünschte Person.
  3. Öffnen Sie Logins → Erstellen.
  4. Wählen Sie als Logontyp OAuth 2.0.
  5. Erfassen Sie als Logonname den Wert von preferred_username, üblicherweise die geschäftliche E-Mail-Adresse beziehungsweise den User Principal Name.

Konfiguration prüfen

  • Microsoft wird auf der IDP-Anmeldeseite als Login-Anbieter angezeigt.
  • Der Benutzer kann sich in ROOMS über Microsoft anmelden.
  • Das Outlook Add-In erhält ein SSO-Token und öffnet quickROOMS ohne zusätzliche Anmeldung.
  • In der ROOMS-Ereignisanzeige erscheinen keine Fehler zur Tokenvalidierung oder Benutzerzuordnung.

Weiterführende Dokumentation