Microsoft 365 SSO für das Outlook Add-In
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.
Wann ist diese Konfiguration erforderlich?
Diese Anleitung gilt für das Microsoft-365-SSO des Outlook Add-Ins. Wenn das Add-In Forms- oder Windows-Authentisierung verwendet, beispielsweise mit Exchange On-Premises, können Sie diese Konfiguration überspringen.
Microsoft führt dieses Verfahren als Legacy Office SSO und stuft es als in Abkündigung ein. Für neue oder migrierte Office Add-Ins empfiehlt Microsoft Nested App Authentication (NAA) mit MSAL.js.
quickROOMS verwendet aktuell OfficeRuntime.auth.getAccessToken und damit weiterhin Legacy Office SSO. NAA wird von quickROOMS noch nicht unterstützt und kann nicht allein über die App-Registrierung aktiviert werden. Die Umstellung erfordert eine Produktänderung. Diese Seite dokumentiert deshalb den aktuell unterstützten quickROOMS-Ablauf, nicht die Zielarchitektur.
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.
| Wert | Beispiel | Verwendung |
|---|---|---|
| IDP-Adresse | https://idp.example.com | Redirect-URI und IDP-Konfiguration |
| quickROOMS-Domain | wizard.example.com | Anwendungs-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
Kurz gesagt
Die Client-ID identifiziert die Entra-App-Registrierung. Die Anwendungs-ID-URI identifiziert die von dieser App bereitgestellte quickROOMS-Ressource und enthält dieselbe Client-ID. Im Add-In-Manifest mussWebApplicationInfo/Id der Client-ID und WebApplicationInfo/Resource der Anwendungs-ID-URI entsprechen.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>
| Stelle | Wert | Bedeutung |
|---|---|---|
| Entra-App-Registrierung: Anwendungs-ID (Client-ID) | <CLIENT-ID> | Identifiziert die Microsoft-Anwendung |
| Entra-App-Registrierung: Anwendungs-ID-URI | api://<QUICKROOMS-DOMAIN>/<CLIENT-ID> | Identifiziert die geschützte quickROOMS-Ressource |
| Entra-App-Registrierung: Scope | <ANWENDUNGS-ID-URI>/access_as_user | Erlaubt 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 |
Nicht mit der Add-In-ID verwechseln
Die oberste OfficeApp/Id im Manifest identifiziert das installierte Outlook Add-In und ist eine separate GUID. Sie ist nicht die Entra-Client-ID. Auch der ROOMS-IDP-Client rooms-addin ist eine separate Kennung für die Anmeldung von quickROOMS am ROOMS IDP.
Beim zentralen Bereitstellen des Add-Ins erzeugt Microsoft 365 ausserdem automatisch eine weitere App-Registrierung. Diese gehört zum Deployment und ist nicht die hier konfigurierte SSO-App. Sie darf trotzdem weder gelöscht noch deaktiviert werden: Eine Löschung entfernt auch das bereitgestellte Add-In aus der Organisation, eine Deaktivierung blockiert die Ausgabe neuer Tokens. Weitere Informationen enthält die O365-Deployment-Anleitung.
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
Öffnen Sie im Microsoft Entra Admin Center Identität → Anwendungen → App-Registrierungen.
Wählen Sie Neue Registrierung.
Erfassen Sie die Anwendung:
Feld Wert Name Aussagekräftiger Name, beispielsweise 3V ROOMS SSOUnterstützte Kontotypen In der Regel Nur Konten in diesem Organisationsverzeichnis Plattform der Umleitungs-URI Web Umleitungs-URI https://idp.example.com/signin-microsoftWählen Sie Registrieren.
Kopieren Sie aus der Übersicht:
- Anwendungs-ID (Client-ID) als
<CLIENT-ID> - Verzeichnis-ID (Mandanten-ID) als
<TENANT-ID>
- Anwendungs-ID (Client-ID) als
2. Geheimen Clientschlüssel erstellen
- Öffnen Sie in der App-Registrierung Zertifikate und Geheimnisse → Geheime Clientschlüssel.
- Wählen Sie Neuer geheimer Clientschlüssel.
- Erfassen Sie eine Beschreibung und ein Ablaufdatum.
- Wählen Sie Hinzufügen.
- Kopieren Sie sofort den angezeigten Wert als
<CLIENT-SECRET>.
Wichtig: Ablauf des Clientschlüssels
Der Wert des Clientschlüssels wird nur einmal vollständig angezeigt. Speichern und übermitteln Sie ihn ausschliesslich über einen sicheren Kanal.
ROOMS kann sich nach Ablauf des Schlüssels nicht mehr bei Microsoft Entra ID anmelden. Planen Sie die Erneuerung vor dem Ablaufdatum ein und aktualisieren Sie danach die IDP-Konfiguration.
3. Microsoft-Graph-Berechtigungen hinzufügen
- Öffnen Sie API-Berechtigungen → Berechtigung hinzufügen.
- Wählen Sie Microsoft Graph → Delegierte Berechtigungen.
- Fügen Sie folgende OpenID-Berechtigungen hinzu:
openidprofileemail
- 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
- Öffnen Sie Eine API verfügbar machen.
- Wählen Sie bei Anwendungs-ID-URI die Aktion Festlegen.
- 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
Wählen Sie Bereich hinzufügen.
Erfassen Sie den Bereich:
Feld Wert Bereichsname access_as_userWer darf zustimmen? Administratoren und Benutzer Anzeigename Profildaten lesenBeschreibung Ermöglicht dem Outlook Add-In den Zugriff auf die ROOMS Web-API im Namen des Benutzers.Status Aktiviert Wählen Sie Bereich hinzufügen.
Microsoft-Office-Clients vorautorisieren
- Wählen Sie Clientanwendung hinzufügen.
- Erfassen Sie als Client-ID:
ea5a67f6-b6f3-4338-b240-c655ddc3cc8e
- Aktivieren Sie den eben erstellten Bereich
access_as_user. - Wählen Sie Anwendung hinzufügen.
Hinweis zu den Office-Client-IDs
Die Client-ID ea5a67f6-b6f3-4338-b240-c655ddc3cc8e autorisiert die unterstützten Microsoft-Office-Endpunkte gemeinsam. Wenn Sie nur einzelne Plattformen zulassen möchten, können Sie stattdessen die passenden IDs separat hinterlegen:
| Plattform | Client-ID |
|---|---|
| Microsoft Office | d3590ed6-52b3-4102-aeff-aad2292ab01c |
| Office im Web | 93d53678-613d-4013-afc1-62e9e444a0a5 |
| Outlook im Web | bc59ab01-8403-45c6-8796-ac3ef710b3e3 |
5. Zugriffstoken-Version festlegen
- Öffnen Sie Manifest.
- Setzen Sie innerhalb des Objekts
apidie EigenschaftrequestedAccessTokenVersionauf2:
"api": {
"requestedAccessTokenVersion": 2
}
- Wählen Sie Speichern.
Hinweis
Es kann einige Minuten dauern, bis Microsoft Entra ID die Änderung für alle Endpunkte übernommen hat.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
}
]
| Einstellung | Bedeutung |
|---|---|
Authority | OpenID-Connect-Endpunkt des Microsoft-Entra-Mandanten |
ClientId | Anwendungs-ID der App-Registrierung |
ClientSecret | Wert des geheimen Clientschlüssels |
CallbackPath | Muss zur Umleitungs-URI /signin-microsoft passen |
UserIdClaim | Microsoft-Claim, der dem ROOMS-Login zugeordnet wird |
Starten Sie den ROOMS IDP nach der Konfigurationsänderung neu.
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:
- Öffnen Sie Einstellungen → Personen.
- Bearbeiten Sie die gewünschte Person.
- Öffnen Sie Logins → Erstellen.
- Wählen Sie als Logontyp OAuth 2.0.
- 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
- quickROOMS installieren und konfigurieren
- Outlook Add-In über Microsoft 365 bereitstellen
- Microsoft: Office Add-In für Legacy Office SSO registrieren
- Microsoft: Single Sign-On mit Nested App Authentication