Azure-Ad-B2C-Rest-Part2
Author Cloudapp
E.G.

Azure AD B2C/Prisma ORM - Datenkontrolle über REST - Teil 2

4. Juni 2024
Inhaltsverzeichnis

In meiner ersten Geschichte (So manipulieren Sie Ihre Azure AD B2C-Daten über Ihre REST-API) habe ich die grundlegende Einrichtung von Prisma für PostgreSQL (ich habe den kostenlosen Plan von Neon.tech verwendet) und wie man Benutzerobjekte im Azure AD-Objektspeicher aktualisieren kann, erklärt. Wir werden untersuchen, wie Sie Ihre Daten in beiden Quellen weiter manipulieren können.

Hier ist das GitHub repo mit dem vollständigen Code.

In meiner vorherigen Story über CRUD-Operationen in Azure AD B2C habe ich erklärt, wie Sie Datenattribute Ihrer Benutzerobjekte „patchen“ (ändern) können und wie Sie einen neuen Benutzerdatensatz mit dem bekannten ORM Prisma in Ihrer PostgreSQL-Datenbank erstellen können (ich habe das kostenlose Angebot von neon.tech genutzt).

Unten ist der Next.js-Codeausschnitt zum Speichern eines neuen Benutzers in der „roles“-Tabelle mit Prisma. Wir übergeben nur ein Attribut, „name“.

Prisma Schema

Hier ist die Modelldefinition für die Rollen-Tabellen in meiner „schema.prisma“-Datei.

Und hier ist die vollständige schema.prisma-Datei mit allen Tabellen, die wir in den letzten Stories definiert haben. Hier ein Link zur Übersicht aller Prisma-Anleitungen

Prisma Datensatz löschen

Wir benutzen dieses Code Snippet für das Löschen des Datensatzes

Hier ist der vollständige Code der Komponente „promoteUser.component.tsx“, in dem ich die Benutzer aus dem Azure AD B2C-Verzeichnis anzeige. In jeder Zeile gibt es ein „Select“ für die Rollen, die wir über Prisma in unserer „roles“-Tabelle definiert haben, sowie einen Button für die Rollenänderung und einen neuen Button für „Benutzer löschen“. Ich verwende die Table-Komponente von Tremor/React als Basisstruktur und drei verschiedene API-Aufrufe für CRUD-Operationen.

API für die Löschung von Benutzern in Azure AD B2C

Wenn wir ein gültiges Zugriffstoken in unserer ApiToken-Tabelle haben, verwenden wir dieses. Andernfalls generieren und speichern wir ein neues. Mit dem Token und der Azure AD B2C ID des Benutzerobjekts können wir den Löschaufruf durchführen.

Benötigte Azure AD B2C-Berechtigungen für die Löschung von Benutzern

Wir verwenden das Dienstprinzipal (App-Registrierung) "TestProd", das ich in dieser Story gezeigt habe. Allerdings ist die Berechtigung zur Löschung von Benutzern nicht gegeben, daher müssen wir diese anpassen.

Um das Problem zu beheben, müssen Sie Ihrem Dienstprinzipal eine Verzeichnisrolle zuweisen, z.B. Benutzeradministrator oder globaler Administrator. Navigieren Sie im Azure-Portal zu Azure Active Directory -> Rollen und Administratoren -> klicken Sie auf Benutzeradministrator oder globaler Administrator -> Zuweisung hinzufügen -> suchen Sie nach Ihrem Dienstprinzipalnamen (muss gesucht werden) -> finden und auswählen -> auf Auswählen klicken.

API für das Löschen der "Rollen" Datensätze mit Prisma

Wir übergeben die UserID aus unserer Komponente, die wir dann verwenden, um den entsprechenden Datensatz aus der Roles-Tabelle mit Prisma zu löschen.

Komponente für die Verwaltung der "Rollen" im Dashboardbereich

Unten finden Sie die Komponente, die wir verwenden, um die erstellten Rollen aufzulisten. Die Komponente zeigt in jeder Zeile eine „Löschen“-Schaltfläche an, damit Sie sie einfach löschen können.

Cloudapp-dev und bevor Sie uns verlassen

Danke, dass Sie bis zum Ende gelesen haben. Noch eine Bitte bevor Sie gehen:

Wenn Ihnen gefallen hat was Sie gelesen haben oder wenn es Ihnen sogar geholfen hat, dann würden wir uns über einen "Clap" 👏 oder einen neuen Follower auf unseren Medium Account sehr freuen.

Verwandte Artikel