Heute war einer von diesen Tagen – ein tiefer Tauchgang in die mysteriöse Welt von Azure B2C. Oder, wie ich es gerne nenne, eine Reise durch das verborgene Labyrinth von Azure Identity.
Aus irgendeinem Grund ist die Arbeit mit Azure Identity für mich nie einfach. Verstehen Sie mich nicht falsch – die Dokumentation von Microsoft Azure kann für viele Dienste hervorragend sein. Das Einrichten eines einfachen Vision-API-Projekts war beispielsweise ein Kinderspiel, und ich würde sogar sagen, dass die .NET Core-Dokumentation erstklassig ist.
Aber Azure Identity? Das ist eine andere Geschichte.
Ich habe viele Male mit Microsoft Entra (dem neuen Branding für Azure Identity-Dienste) gearbeitet und das Einrichten einer App-Registrierung ist etwas, das ich bei meinen täglichen Aufgaben mittlerweile erwarte . Heute bestand das Ziel jedoch darin, Azure B2C zu erkunden.
Einfach ausgedrückt ist Azure B2C ein Microsoft-Dienst, mit dem Sie eine White-Label-Benutzerverwaltungsplattform erstellen können.
Betrachten Sie es als einen Ableger von Entra ID (ehemals Azure Active Directory), der speziell auf die Verwaltung von Benutzern außerhalb Ihrer Organisation zugeschnitten ist. Während Entra ID für den Umgang mit internen Benutzern – Mitarbeitern, Auftragnehmern usw. – konzipiert ist, richtet sich Azure B2C an Kunden oder andere externe Benutzer.
Mit Azure B2C können Sie:
Anmelde- und Anmeldeabläufe erstellen
Passen Sie die Benutzeroberfläche an Ihre Marke an
Passwort-Reset-Abläufe automatisch verarbeiten
Integrieren Sie Identitätsanbieter von Drittanbietern wie Google, Facebook oder Apple
Wenn Sie mit Auth0 oder Clerk vertraut sind, ist das Konzept ähnlich.
Hier waren die Anforderungen für mein Projekt:
Frontend: Ein React-basiertes SPA (vorzugsweise mit Vite).
Authentifizierung: Vertrauenswürdige Benutzerverwaltung mit Azure B2C.
Backend: Node.js oder .NET Core API mit Bearer-Token-Authentifizierung.
Es klang einfach genug. Aber als ich anfing, mir die Dokumentation anzusehen, wurde ich von veralteten Repositories, verstreuten Informationen und defekten Links begraben.
Es ist ein häufiges Szenario: ein React SPA kommuniziert mit einem Node.js-Backend, gesichert mit Azure B2C. Dennoch fühlten sich die Dokumente wie eine Schatzsuche an. Ich öffnete ständig neue Tabs – irgendwann hatte ich über 20 Chrome-Tabs, die versuchten, alles zusammenzusetzen.
Nach stundenlangem Basteln gelang es mir, ein einfaches Beispiel zum Laufen zu bringen:
Eine React-App (mit Create React App, leider nicht mit Vite).
Ein Node.js-Backend (Express-basiert).
Wenn Sie das gleiche Setup versuchen, sind hier die wichtigsten Ressourcen, die für mich funktioniert haben:
Wenn man sich jetzt diese drei Links ansieht, fühlt es sich so offensichtlich an. Aber sie zu finden und zu verbinden war nicht einfach.
Azure B2C und Microsoft Identity Platform sind unglaublich leistungsstark, aber die Navigation in der Dokumentation ist eine Herausforderung. Ein Teil des Problems scheint in der schieren Funktionsvielfalt zu liegen – kombiniert mit der Notwendigkeit, Legacy-Systeme wie Active Directory zu unterstützen.
Fairerweise muss man sagen, dass es keine leichte Aufgabe ist, die Dokumentation auf dem neuesten Stand zu halten und gleichzeitig Dienste wie Entra ID weiterzuentwickeln.
Um zukünftige Projekte zu optimieren, erstelle ich ein kleines Boilerplate mit:
React Vite Tailwind Shadcn
Azure B2C (oder… vielleicht etwas anderes?)
Node.js (Express Passport)
Sobald es fertig ist, werde ich diesen Artikel mit dem Boilerplate aktualisieren.
Jeder gute Kaninchenbau hat eine Wendung, und dieses hier ist nicht anders.
Gerade als ich mich mit Azure B2C beschäftigte, stieß ich auf Microsoft Entra External ID – was angeblich sogar noch besser ist.
Anscheinend wird Azure B2C irgendwann durch Entra External ID ersetzt. Wenn Sie also neu anfangen, könnte es sich lohnen, diese neuere Option auszuprobieren.
Der Kaninchenbau geht weiter…
Das obige ist der detaillierte Inhalt von#aily Rabbit Holes: Das Azure BPuzzle knacken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!