Skip to the content

Umbraco mit Azure Active Directory nutzen

«Mit Office 365 ist Azure Active Directory beinhaltet und ermöglicht uns diesen Dienst, in anderen Applikationen, die Authentifizierung benötigen, anzuwenden. Somit wird ein einheitliches Anwendererlebnis für die Authentifizierung etabliert.»

Authentifizierung Erlebnis

Authentifizierung ist der Prozess, der sicherstellt, dass ein Anwender derjenige ist, der er sagt, er ist es. Die meisten Anwendungen müssen ihre Anwender identifizieren, und Active Directory übernimmt diese Aufgabe, die Identität der Anwender zu überprüfen.

Azure Active Directory bietet eine Identitätsverwaltung für Cloud-Anwendungen an, welches Authentifizierungsverfahren wie OAuth2, OData und OpenIdConnect unterstützt. Die Integration von Azure Active Directory gibt Ihren Anwendern ein schlankes Anmeldeverfahren und hilft Ihrer Anwendung die IT-Richtlinien einzuhalten.

Wenn Sie ein Unternehmen sind und Office 365 und/oder Azure verwenden, so besitzen Sie bereits Azure Active Directory, welches der Standard für Authentifizierung und Autorisierung ist. Primäre Philosophie ist, dass Entwickler sich auf den Funktionalen Teil der Software und deren Wertschöpfung konzentrieren sollten, und Standarddienste wie Azure Active Directory die Authentifizierung übernehmen. Welches den Anwendern die bestmögliche Erfahrung bietet.

Was ist Authentifizierung?

Authentifizierung ist der Akt der Infragestellung einer Partei und deren Legitimierung. Sie bietet die Grundlage für die Sicherheit der Identitäts- und Zugangskontrolle. In einfacheren Worten ist es der Prozess des Beweises, dass man das ist, was man sagt.

Die Berechtigung ist der Akt der Erteilung einer authentifizierten Erlaubnis, etwas zu tun. Es gibt an, auf welche Daten Sie zugreifen dürfen und was Sie damit machen können.

Authentifizierungsgrundlage für Azure Active Directory

Betrachten Sie das grundlegendste Szenario, in welchem die Identität gefragt ist: Ein Anwender in einem Webbrowser muss sich in einer Webanwendung authentifizieren. Das folgende Diagramm zeigt dieses Szenario:


Authentifizierung in Umbraco

Umbraco CMS (v7.12.4) verfügt über ein standardisiertes Benutzername/Passwortszenario für den Umgang mit der Authentifizierung. Das genügt in den moisten Fällen, aber die moisten Anwender währen nicht glücklich, wenn Sie ein weiteres Passwort merken müssen.

In diesem Beitrag betrachten wir, wie wir Umbraco CMS mit unserem Azure Active Directory (das mit Office 365 zur Verfügung gestellte ADD-Standard) einrichten, damit die Anwender von Umbraco CMS BackOffice sich authentifizieren und die Inhalte auf unserer Website zu verwalten können.

Es gibt einen guten Artikel von Shannon Deminick, der beschreibt, wie man das Azure Activ Directory Login mit Umbraco konfiguriert. Dies ist die Basis für uns mit einigen Anpassungen und Korrekturen.

Schritt 1 – Azure Active Directory vorbereitet

Wie man eine Applikation in Azure Active Directory registriert, ist gut dokumentiert. 

Im Azure Portals öffnen Sie im Azure Active Directory Ihren Service und navigieren Sie zu «App-Registrierung (Preview)». Wählen Sie «New registration»

Legen Sie den «Namen» fest und überprüfen Sie das der Kontotyp nur mit Ihrem Verzeichnisdienst verwendet wird. Definieren Sie Ihre «URI» Umleitung. Wichtig ist, dass der Schrägstrich / am Ende des URI nicht vergisst!

Überprüfen Sie in der «Übersicht» die Anwendungs-ID (Client) und die Directory-ID (Tenant) und kopieren diese für die spätere Verwendung.

Passen Sie Ihr Corporate Design in «Branding» an

In «Authentication» erfassen Sie alle verwendeten URLs (für lokale Entwicklung, Tests, Produktion) und fügen Sie diese den «Redirect-URIs» hinzu. Dies stellt sicher, dass Sie Azure Active Directory für alle Ihre Umgebungen verwenden können.

«Owner» hinzufügen

Gehen Sie zurück zu «Enterprise applications» und wählen Sie die registrierte Anwendung «TeamrueggUmbraco» aus.

Wählen Sie «Users and groups» und fügen Sie alle Anwender mit der Rolle «Default Access» hinzu, die Inhalte innerhalb von Umbraco verwalten müssen.

Um neue Anwender auf Anfragebasis zu aktivieren, konfigurieren Sie «Self-service» einschliesslich eines Genehmigungsverfahrens zur Zuweisung von Benutzergruppen und Rolle.

Schritt 2 – Umbraco Anwendung

Als erstes müssen Sie das «UmbracoCms.IdentityExtensions.AzureActiveDirectory» Paket installieren. Dies installieren auch das «UmbracoCms.IdentityExtensions» Basispaket.

PM > Install-Package UmbracoCms.IdentityExtensions.AzureActiveDirectory

Fügen Sie die Client Id, Tenant Id und die Umleitung der URL zu den «AppSettings» innerhalb der web.config ein. Stellen Sie sicher, dass die OWIN-Startklasse in web.config definiert ist

<add key="owin:appStartup" value="UmbracoStandardOwinStartup"></add>:

Öffnen Sie die «App_Start/UmbracoStandardOwinStartup.cs» Datei, die mit dem Packet installiert wurde. Unter base.Configuration(app); fügen Sie die folgenden Codezeilen hinzu:

Wir haben die Umbraco-Anwendung in unserem Azure Active Directory mit «only accounts in this organization» konfiguriert und wir wollen die Umbraco BackOffice-Konten automatisch verknüpfen. Die automatische Verlinkung stellt sicher, dass ein lokales Umbraco-Benutzerkonto für jeden Benutzer existiert, der sich über den Azure Active Directory Provider anmeldet. Die automatische Verknüpfung kann als Teil Ihrer OWIN Startup-Klasse konfiguriert werden. Öffnen Sie «App_Start/UmbracoADAuthExtensions.cs» und fügen Sie die Codezeilen unten in den Abschnitt «AdOptions» ein. Da wir E-Mail-Adresse als Login-Kontonamen verwenden, müssen wir den Kontext für JwtSecurityToken.Claims und E-Mail beheben, damit diese «unique_name» verwendet. Eine E-Mailadresse ist in diesem Kontext nicht vorhanden.

Schritt 3 – Testen

Starten Sie Ihre Umbraco-Anwendung und navigieren Sie zu Umbraco BackOffice. Der Anmeldebildschirm zeigt nun den externen Anbieter «Sign in with Active Directory» an.

Beim ersten Anmeldeversuch wird der «Request Permission» Dialog angezeigt.

Nach erfolgreicher Anmeldung navigieren Sie zu Ihrem Profil und sehen den externe Anbieter der mit Ihrem Kontoprofil verbunden wurde.

 

Autor

Urs Rüegg

Urs Passion ist es komplexe und multinationale Projekte zu liefern. Seit 2000 wurden über 25 CRM-, 12 Entwicklungs- und 8 Infrastruktur-Projekte geliefert.

In der Freizeit liebt Urs die Gaumenfreuden aus aller Herren Ländern zu entdecken und frei nach Aristoteles und Plutarch zu geniessen. 

comments powered by Disqus

Team Rüegg

Ankenbüel 7
8126 Zumikon

Our motivation

We are a Family with shared principles and passions.