In diesem Blog wird demonstriert, wie per App eine Zwei-Faktor-Authentifizierung (2FA) oder SMS-Verifizierung mit Twilio möglich wird. Die Benutzeroberfläche besteht aus zwei Hauptfunktionen:

- Telefonnummer eingeben und Code senden
- Der Benutzer gibt seine Telefonnummer in das erste Eingabefeld ein.
- Durch Drücken des Buttons "Code senden" wird eine Anfrage an Twilio gestellt, um einen Verifizierungscode per SMS an die eingegebene Telefonnummer zu senden.
- Vermutlich wird dabei eine Power Automate-Flow (wie zuvor gezeigt) aufgerufen, der Twilio nutzt.
- Code eingeben und prüfen
- Nachdem der Benutzer die SMS mit dem Verifizierungscode erhalten hat, gibt er diesen in das zweite Eingabefeld ein.
- Durch Drücken des Buttons "Code prüfen" wird der eingegebene Code mit dem in Twilio hinterlegten Code verglichen.
- Falls der Code korrekt ist, wird die Authentifizierung abgeschlossen, andernfalls könnte eine Fehlermeldung erscheinen.
Technische Umsetzung:
- Die App wurde mit Microsoft Power Apps erstellt (Canvas App)
- Die Kommunikation mit Twilio erfolgt über Power Automate-Flows.
- Die HTTP-Anfrage an Twilio Verify API (wie im vorherigen Screenshot gezeigt) wird genutzt, um den Code zu senden und zu überprüfen.
Mögliche Einsatzbereiche:
- Login-Absicherung durch SMS-Verifizierung (z. B. für eine Unternehmens-App).
- Schutz sensibler Bereiche in einer App (z. B. für Bankgeschäfte oder persönliche Daten).
- Bestätigung der Identität von Benutzern (z. B. für einen Registrierungsprozess).
Hinweis: Twilio (https://www.twilio.com) ist ein Anbieter für Telefonie Dienstleistungen. Um dieses Beispiel selber durchführen zu können, wird ein Account mit einer bei Twilio registrierten Telefonnummer benötigt. Dies gilt aus Voraussetzung. Die Registrierung und Dokumentation bei Twilio ist hierzu Voraussetzung, wird jedoch nicht im einzelnen behandelt.
In der App werden mit zwei Schaltflächen zwei unterschiedliche Flows ausgeführt, um das genannte Vorhaben umzusetzen.
Die Schaltfläche „Code senden“ enthält folgende Syntax mit dem zugeordneten Flow:

Die Schaltfläche „Code prüfen“ enthält folgende Syntax mit dem zugeordneten Flow:

Die Flows werden nachfolgend erläutert.
Schritte zu 1: Flow in Power Automate erstellen
Einen Verifizierungscode an eine Telefonnummer zu senden
1. Aufbau des Flows - Der Trigger:
Die Aktion Power Apps (V2) und ermöglicht es, Eingaben aus einer Power Apps-Anwendung in Power Automate zu übergeben.
Funktionsweise:
- Code (Eingabetyp: Zahl)
→ In der Power Apps-Oberfläche kann ein Benutzer eine Zahl eingeben (z. B. ein Verifizierungscode).
- Telefonnummer (Eingabetyp: Text)
→ Der Benutzer gibt eine Telefonnummer ein, die für die Verifizierung genutzt wird.

Diese Aktion wird verwendet, um Benutzereingaben aus Power Apps an einen Power Automate-Workflow zu übergeben. Sie wird in Kombination mit der zuvor gezeigten Twilio HTTP-Anfrage genutzt werden, um:
- Einen Verifizierungscode an eine Telefonnummer zu senden.
- Einen eingegebenen Code mit einem erwarteten Code zu vergleichen.
2. Aktion: Http-Anfrage
Diese Aktion in Microsoft Power Automate sendet eine HTTP-POST-Anfrage an den Twilio Verify-Dienst, um eine Verifizierungsnachricht per SMS zu senden.
Erklärung der Parameter:
- Methode: POST – Die Aktion sendet Daten an den Twilio-Server.
- URI: https://verify.twilio.com/v2/Services/VA1cXXXXXXXXXXXXXXXXXXXee/Verifications
→ Diese URL gehört zum Twilio Verify API-Dienst und initiiert eine Verifikation.
- Headers:
- Content-Type: application/x-www-form-urlencoded
→ Das Format der zu übertragenden Daten entspricht URL-codierten Formular-Daten.
- Body:
- Channel=sms&To=%2B...
→ Dies bedeutet:
- Channel=sms → Die Verifizierung erfolgt per SMS.
- To=%2B... → Die Telefonnummer (beginnend mit +, das URL-kodiert als %2B dargestellt ist) erhält die SMS.

Zweck der Aktion:
Diese HTTP-Anfrage startet einen Twilio Verify-Prozess, indem sie eine SMS mit einem Verifizierungscode an eine angegebene Telefonnummer sendet. Dies ist nützlich für Zwei-Faktor-Authentifizierung (2FA) oder Benutzerverifikation in einer App oder einem Workflow.
3. Aktion: Antwort an eine Power App …
Diese Aktion in Power Automate gehört zu einem Flow, der als Antwort an eine Power App oder einen Flow eine Rückmeldung sendet. Das bedeutet, dass die Aktion ein Ergebnis (Output) an die Power App zurückliefert.
Details zur Funktion:
- Trigger: "Auf eine Power App oder einen Flow reagieren"
→ Dies bedeutet, dass diese Aktion nur dann ausgeführt wird, wenn sie von einer Power App oder einem anderen Flow aufgerufen wird.
- Output-Variable "Code"
→ Die Aktion gibt eine Nachricht zurück: "Die Codeeingabe war erfolgreich".
→ Diese Nachricht könnte verwendet werden, um dem Benutzer in der Power App eine Bestätigung anzuzeigen.

Diese Aktion gibt der Power App eine Rückmeldung, wenn die Code-Eingabe erfolgreich war. Sie ist vermutlich Teil eines Zwei-Faktor-Authentifizierungsprozesses mit Twilio, um eine SMS-Code-Verifizierung durchzuführen.
Schritte zu 2: Flow in Power Automate erstellen
Jetzt kommt der zweite Flow zum Einsatz.
Einen eingegebenen Code mit einem erwarteten Code zu vergleichen
1. Aufbau des Flows – Der Trigger:
Der Trigger des zweitens Flows ist exakt genauso aufgebaut wie der vorherige im ersten Flow, siehe oben.

2. Aktion: Http-Anfrage
Die http Aktion ist sehr ähnlich, mit einem kleinen Unterschied. Diese Aktion ist eine HTTP-POST-Anfrage an Twilio Verify API, die überprüft, ob ein eingegebener Verifizierungscode korrekt ist.

Details zur Funktion:
- Methode: POST
→ Eine POST-Anfrage wird an die Twilio Verify API gesendet.
- URI:
https://verify.twilio.com/v2/Services/VA1xxxxxxxxxxxxxxxxe/VerificationCheck
→ Dies ist der Endpunkt, um einen zuvor gesendeten Code zu überprüfen.
- Headers:
- Content-Type: application/x-www-form-urlencoded
→ Die Daten werden als Formulardaten (URL-encoded) gesendet.
- Body:
- Code= → Enthält den von der Power App übergebenen SMS-Code (SMSCode).
- To=%2B → Die Telefonnummer (Telefonnummer), für die der Code geprüft wird.
Ablauf der Aktion in einem Verifizierungsprozess:
- Ein Benutzer gibt seine Telefonnummer ein.
- Ein Verifizierungscode wird per SMS gesendet (siehe frühere HTTP-Aktion).
- Der Benutzer gibt den Code in der Power App ein.
- Diese HTTP-Anfrage wird ausgeführt, um den eingegebenen Code mit Twilio abzugleichen.
- Twilio sendet eine Antwort zurück, ob der Code korrekt ist.
- Falls korrekt, kann die Power App eine Bestätigung anzeigen.
- Falls falsch, kann eine Fehlermeldung erscheinen.
3. Aktion: Antwort an eine Power App …
Diese Aktion in Power Automate dient als Antwort auf eine Power App oder einen Flow. Sie sendet eine Rückmeldung an die aufrufende Power App oder den Flow, um anzuzeigen, ob die Codeeingabe erfolgreich war.

Funktionsweise:
- Trigger: "Auf eine Power App oder einen Flow reagieren"
→ Diese Aktion wird aufgerufen, wenn die Power App oder ein anderer Flow eine Überprüfung durchführt.
- Output-Variable "Code"
→ Enthält die Nachricht: „Die Codeeingabe war erfolgreich“
→ Dies bedeutet, dass die Code-Verifizierung erfolgreich abgeschlossen wurde.
Zusammenhang mit der Twilio-Verifizierung:
- Benutzer gibt den Code in der Power App ein.
- Power Automate überprüft den Code mit der Twilio API (wie in vorherigen HTTP-Anfragen gezeigt).
- Falls der Code korrekt ist, wird diese Antwort zurückgegeben.
- Die Power App erhält die Meldung und kann z. B. den Benutzer freischalten oder eine Bestätigung anzeigen.
Falls der Code falsch ist, könnte der Flow eine alternative Antwort wie „Code ungültig“ senden.

Der zuvor ausgeführte Flow erstellt eine Variable „Code“.
Die erfolgreiche Verifizierung des Codes wird über ein Beschriftungsfeld zurückgegeben.

Zusammenfassung:
Die App ermöglicht es Benutzern, eine Telefonnummer zu verifizieren, indem ein Code per SMS gesendet und anschließend überprüft wird. Twilio übernimmt dabei die Code-Generierung und -Validierung.
Praxisnahe Ergänzungen
Wer das Thema strukturiert weiterdenken, praxisnah einordnen oder ähnliche Themen vertiefen möchte, findet in folgenden Trainings passende Anknüpfungspunkte: