Wie kann TOTP MFA in CI/CD sicher automatisiert werden, ohne Anmeldeinformationen preiszugeben?JavaScript

Javascript-Forum
Anonymous
 Wie kann TOTP MFA in CI/CD sicher automatisiert werden, ohne Anmeldeinformationen preiszugeben?

Post by Anonymous »

Ich habe den Anmeldevorgang für meine Anwendung mit Playwright erfolgreich automatisiert. Die App erfordert MFA (TOTP). Ich verwende derzeit die otpauth-Bibliothek, um die 6-stelligen Token zu generieren, und sie funktioniert perfekt in meiner lokalen Umgebung.

Mein aktuelles Setup:

* Logik: Ich habe eine Dienstprogrammfunktion, die otpauth.TOTP verwendet, um Codes aus einem geheimen Schlüssel zu generieren.

* Lokaler Speicher: Meine Anmeldeinformationen (APP_USER, APP_PASS) und M365_OTP_SECRET sind in einer lokalen .env-Datei gespeichert.

* Ausführung: Ich verwende ein global-setup.js, um die Anmeldung einmal zu verwalten und den Speicherstatus zu speichern.

Das Problem:

Ich verschiebe dies jetzt in eine CI/CD-Pipeline (GitHub Actions/Jenkins). Ich möchte sicherstellen, dass:

* Keine Anmeldeinformationen im Repo: Ich möchte meinen .env-Ordner nicht festschreiben oder irgendwelche Geheimnisse im Repository fest codieren.

* Umgebungssynchronisierung: Ich mache mir Sorgen über TOTP-Timing-Probleme oder „verdächtige Anmeldung“-Flags, wenn ich Headless in der Cloud im Vergleich zu meinem lokalen Headed-Browser ausführe.

* Sitzungswiederverwendung: Ich möchte vermeiden, bei jedem Testlauf MFA auszulösen, um dies zu verhindern Ratenbegrenzung.

Fragen an die Community:

* Secret Injection: Was ist die beste Vorgehensweise für die Übergabe des TOTP-Geheimschlüssels an die Playwright-Laufzeit? Ist die Zuordnung als Umgebungsvariablen im CI-Tool (z. B. GitHub Secrets) der sicherste Weg?

* Statusverwaltung: Wo soll in CI die auth.json (storageState) gespeichert werden? Sollte es bei jedem Pipeline-Lauf neu generiert oder als Artefakt zwischengespeichert werden?

* Bypass vs. Automatisieren: Ist es besser, den TOTP-Eintrag wie bisher weiter zu automatisieren, oder sollte ich nach „Nur-Test“-Hintertüren suchen oder MFA für bestimmte CI-IP-Bereiche umgehen?

Umgebung:

* Playwright-Version: [Geben Sie Ihre Version ein, z. B. 1.40]

* CI-Tool: [z. B. GitHub Actions]

* MFA-Bibliothek: otpauth

Pro-Tipp für Ihren Beitrag:

Wenn Sie dies posten, fügen Sie den Codeausschnitt aus Ihrem Screenshot ein (die Funktion „generateTOTP“), aber entfernen Sie die Zeile, in der Sie || haben 'YOUR_SECRET_HERE'. Dies zeigt der Community, dass Sie bereits über Sicherheit nachdenken, indem Sie sich nur auf process.env verlassen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post