Anpassen von MFA-E-Mails in Azure B2C: Ein Leitfaden

Anpassen von MFA-E-Mails in Azure B2C: Ein Leitfaden
Anpassen von MFA-E-Mails in Azure B2C: Ein Leitfaden

Beheben von Problemen mit benutzerdefinierten E-Mails in MFA

Azure B2C bietet umfangreiche Anpassungsoptionen für Benutzerauthentifizierungsabläufe, einschließlich der Möglichkeit, benutzerdefinierte E-Mails für verschiedene Szenarien zu senden. Beim Einrichten benutzerdefinierter Richtlinien, um die Anmeldung bei lokalen Konten und den Ablauf bei vergessenen Passwörtern zu ermöglichen, funktioniert möglicherweise alles reibungslos, von der Handhabung der Nutzungsbedingungen bis hin zur Anpassung von E-Mails über SendGrid.

Ein häufiges Problem tritt jedoch auf, wenn der Multi-Faktor-Authentifizierungsprozess (MFA) während der Anmeldung die benutzerdefinierte E-Mail-Adresse für den Bestätigungscode nicht sendet und stattdessen auf die Standard-E-Mail-Adresse des Microsoft-Mandanten zurückgreift. In diesem Artikel wird dieses Problem untersucht und Anleitungen zur effektiven Lösung gegeben.

Befehl Beschreibung
<BasePolicy> Definiert die Basisrichtlinie, von der in benutzerdefinierten Azure AD B2C-Richtlinien geerbt werden soll.
<ClaimsTransformations> Enthält Transformationen für Ansprüche, z. B. das Generieren benutzerdefinierter E-Mail-Betreffs.
ClaimsTransformation Gibt eine einzelne Anspruchstransformation an, einschließlich Eingabe- und Ausgabeansprüchen.
SendGridClient Initialisiert den SendGrid-Client zum Senden von E-Mails.
SendGridMessage Erstellt ein Nachrichtenobjekt zum Senden einer E-Mail über SendGrid.
AddTo Fügt der E-Mail-Nachricht einen Empfänger hinzu.
SendEmailAsync Sendet die E-Mail-Nachricht asynchron mithilfe des SendGrid-Clients.

Grundlegendes zur benutzerdefinierten MFA-E-Mail-Implementierung in Azure B2C

Die oben bereitgestellten Skripte sollen das Senden benutzerdefinierter MFA-Verifizierungs-E-Mails während des Anmeldevorgangs in Azure B2C ermöglichen. Das erste Skript umfasst die Konfiguration der benutzerdefinierten Richtlinien-XML für Azure AD B2C. Innerhalb dieses XML ist die <BasePolicy> Das Tag wird verwendet, um von der Basisrichtlinie zu erben und sicherzustellen, dass alle grundlegenden Konfigurationen enthalten sind. Der <ClaimsTransformations> Der Abschnitt enthält Transformationen für Ansprüche, z. B. das Generieren eines benutzerdefinierten E-Mail-Betreffs mithilfe von ClaimsTransformation Element. Diese Transformationen ermöglichen eine dynamische Anpassung des MFA-E-Mail-Inhalts.

Das zweite Skript ist eine C#-Azure-Funktion, die die benutzerdefinierte E-Mail mithilfe von SendGrid sendet. Diese Funktion wird durch eine Warteschlange ausgelöst, die durch angegeben wird [QueueTrigger("mfa-email-queue")] Attribut. Es initialisiert den SendGrid-Client mit SendGridClient und erstellt eine E-Mail-Nachricht mit SendGridMessage. Der AddTo Die Methode fügt den Empfänger zur E-Mail hinzu und SendEmailAsync Versendet die E-Mail asynchron. Durch dieses Setup wird sichergestellt, dass MFA-E-Mails mit den in SendGrid definierten benutzerdefinierten Inhalten gesendet werden. Dadurch wird das Problem behoben, dass während des Anmeldevorgangs standardmäßige Microsoft-Mandanten-E-Mails gesendet werden.

Implementierung benutzerdefinierter E-Mails für die MFA-Überprüfung in Azure B2C

XML-Konfiguration für die benutzerdefinierte Azure AD B2C-Richtlinie

<TrustFrameworkPolicy xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06">
<BasePolicy>
<PolicyId>B2C_1A_TrustFrameworkBase</PolicyId>
</BasePolicy>
<BuildingBlocks>
<ClaimsTransformations>
<ClaimsTransformation Id="CreateMfaEmailSubject">
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="email"/>
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="email"/>
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>

Anpassen des Anmeldeablaufs zur Verwendung von SendGrid

C# Azure-Funktion zum Senden benutzerdefinierter E-Mails über SendGrid

using System.Threading.Tasks;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using SendGrid;
using SendGrid.Helpers.Mail;
public static async Task Run([QueueTrigger("mfa-email-queue")] string email, ILogger log)
{
var client = new SendGridClient(Environment.GetEnvironmentVariable("SendGridApiKey"));
var msg = new SendGridMessage()
{
From = new EmailAddress("no-reply@yourdomain.com", "Your Company"),
Subject = "Your MFA Verification Code",
PlainTextContent = $"Your verification code is {email}",
HtmlContent = $"<strong>Your verification code is {email}</strong>"
};
msg.AddTo(new EmailAddress(email));
var response = await client.SendEmailAsync(msg);
}

Erweiterte Techniken zum Anpassen von MFA-E-Mails in Azure B2C

Ein weiterer wichtiger Aspekt, den Sie bei der Anpassung von MFA-E-Mails in Azure B2C berücksichtigen sollten, ist die Sicherstellung der richtigen Orchestrierungsschritte innerhalb Ihrer benutzerdefinierten Richtlinie. Dazu gehört die Definition und Konfiguration zusätzlicher Schritte in der User Journey, um den Versand von MFA-E-Mails korrekt abzuwickeln. Eine effektive Technik besteht darin, innerhalb der Anmelderichtlinie einen neuen Orchestrierungsschritt für die E-Mail-Überprüfung hinzuzufügen. Dieser Schritt sollte die Anspruchsumwandlung und das technische Profil nutzen, um den E-Mail-Versandprozess zu starten.

Darüber hinaus ist es wichtig, die User Journey zu debuggen und zu überwachen, um sicherzustellen, dass die richtigen E-Mail-Vorlagen und APIs aufgerufen werden. Die Verwendung von Tools wie Application Insights kann dabei helfen, Probleme bei der Ausführung benutzerdefinierter Richtlinien zu verfolgen und zu diagnostizieren. Dies ermöglicht eine Überwachung und Fehlerbehebung in Echtzeit und stellt sicher, dass benutzerdefinierte E-Mails während des MFA-Prozesses wie erwartet gesendet werden.

Häufige Fragen und Antworten zu benutzerdefinierten MFA-E-Mails in Azure B2C

  1. Wie konfiguriere ich eine benutzerdefinierte E-Mail-Vorlage für MFA in Azure B2C?
  2. Verwenden SendGrid oder einen anderen E-Mail-Dienst, um benutzerdefinierte E-Mail-Vorlagen zu erstellen und zu verwalten und diese dann in Ihre benutzerdefinierten B2C-Richtlinien zu integrieren.
  3. Welche Orchestrierungsschritte sind erforderlich, um benutzerdefinierte MFA-E-Mails zu versenden?
  4. Fügen Sie eine dedizierte hinzu orchestration step zur E-Mail-Bestätigung in der Anmelderichtlinie.
  5. Wie kann ich sicherstellen, dass die benutzerdefinierte E-Mail-Adresse während des Anmeldevorgangs verwendet wird?
  6. Aktualisieren Sie die User Journey, um in den entsprechenden Orchestrierungsschritten auf die benutzerdefinierte E-Mail-Vorlage zu verweisen.
  7. Warum wird während der MFA immer noch die Standard-E-Mail von Microsoft gesendet?
  8. Überprüfen Sie, ob die benutzerdefinierte Richtlinie korrekt auf verweist custom email provider und Vorlage.
  9. Wie behebe ich Probleme beim benutzerdefinierten E-Mail-Versand in Azure B2C?
  10. Verwenden Application Insights um die Benutzerreise und den E-Mail-Versandprozess zu überwachen und zu diagnostizieren.
  11. Kann ich neben SendGrid auch andere E-Mail-Dienste nutzen?
  12. Ja, Azure B2C unterstützt verschiedene E-Mail-Anbieter. Sie müssen sie in der benutzerdefinierten Richtlinie entsprechend konfigurieren.
  13. Welche Anspruchstransformationen sind für benutzerdefinierte MFA-E-Mails erforderlich?
  14. Definieren Sie das Notwendige claims transformations um den E-Mail-Inhalt dynamisch zu generieren und zu formatieren.
  15. Ist es möglich, die E-Mail-Adresse des Absenders anzupassen?
  16. Ja, geben Sie die Absenderadresse in der E-Mail-Dienstkonfiguration an und verweisen Sie in der Richtlinie darauf.
  17. Wie kann ich den benutzerdefinierten MFA-E-Mail-Fluss testen?
  18. Verwenden Sie Testkonten und lösen Sie den Anmeldevorgang aus, um sicherzustellen, dass die benutzerdefinierte E-Mail korrekt gesendet wird.

Abschließende Gedanken zum Anpassen von MFA in Azure B2C

Die Konfiguration von Azure B2C zum Senden benutzerdefinierter E-Mails zur MFA-Überprüfung erfordert das Verständnis und die korrekte Einrichtung verschiedener Elemente wie Orchestrierungsschritte, Anspruchstransformationen und die Integration externer Dienste wie SendGrid. Obwohl der Prozess komplex sein kann, kann das Befolgen detaillierter Richtlinien und die Verwendung geeigneter Debugging-Tools dazu beitragen, sicherzustellen, dass benutzerdefinierte E-Mails während des Anmeldevorgangs zuverlässig gesendet werden. Dies erhöht nicht nur die Sicherheit, sondern verbessert auch das Benutzererlebnis durch die Bereitstellung eines nahtlosen und markenspezifischen Authentifizierungsprozesses.