2015-05-17 9 views
5

Ich habe eine App mit vertraulichen PII (Sozialversicherungsnummer, Gehaltsabrechnung). Ich möchte Benutzern die Möglichkeit geben, sich mit OAuth-IDs (Google, Linked In) anzumelden, erfordern jedoch, dass die Konten die Multi-Faktor-Authentifizierung im Identity-Provider aktiviert haben, dh die Anmeldung über OAuth2 fehlschlägt, wenn der Benutzer MFA nicht aktiviert hat ihr zugrunde liegendes Identity-Provider-Konto. Dadurch kann ich vermeiden, dass meine vertraulichen Informationen einem schwachen GMail-Passwort ausgesetzt werden.OAuth2 aber erfordern Multi-Faktor-Authentifizierung (MFA)

Gibt es eine Möglichkeit, dies zu tun?

Antwort

1

Leider nein.
Im Fall von Google und Linkedin ist die Authentifizierungsebene nicht mit einem bestimmten Bereich verknüpft. Die OAuth-Antwort gibt auch nicht an, ob der Benutzer ein OTP-Token verwendet hat oder nicht.

Auch wenn der Benutzer bei MFA angemeldet ist, kann der Benutzer den Computer, den er verwendet, als vertrauenswürdig registrieren und in diesem Fall Google wird ihn nie nach einem OTP fragen. Dieses Verhalten kann verhindern, dass viele Benutzer auf Ihre Anwendung zugreifen.

1

Eigentlich glaube ich, dass Sie Ihre eigene Session/Token überprüfen können, um zu sehen, ob es durch Google, Twitter, Facebook, usw. gemacht wurde und dann MFA/2FA/OTP bei der ersten Verwendung dieses Tokens benötigen. Ist das sinnvoll?

Sie könnten Ihren eigenen TOTP-Microservice mit Browser Authenticator ausführen, der über die Komponenten verfügt, die Sie zum Generieren und Überprüfen eines Schlüssels und Tokens im Browser benötigen, und Node Authenticator mit dem entsprechenden serverseitigen Code.

Fügen Sie einfach Ihren eigenen Speichermechanismus und einen HTTPS-Aufruf zum Microservice hinzu, aktualisieren Sie die Sitzung/das Token und die Viola, Sie haben die Zwei-Faktor/Multi-Faktor/Einmalpasswort-Authentifizierung direkt darüber hinzugefügt.

Verwandte Themen