Hab gemäß der Anleitung des Cloud-PFEs Tino Donderwinkel (Teil 1, Teil 2) einen sehr rudimentären aber tatsächlich funktionierenden Authentication Provider für ADFS 3.0 (=2012 R2) erzeugt: MultiOTPAuthenticationProvider.dll (Source: MultiOTPAuthenticationProvider-Source)
Wie man das Ding am ADFS Server registriert ist in Teil 2 der Anleitung beschrieben, der Provider hat 4 Parameter die man in die Datei C:\Windows\ADFS\Microsoft.IdentityServer.Servicehost.exe.config
einfügen muss (am besten direkt unter configSections
):
<appSettings>
<add key="MultiOTPPathAndName" value="C:\\Pfad\\zu\\multiotp\\multiotp.exe" />
<add key="OTPUsernameRegex" value="^[a-zA-Z0-9*$"/>
<add key="OTPRegex" value="^[0-9]{6}$"/>
</appSettings>
Natürlich muss man MultiOTP mit passender .INI im konfigurierten Pfad deployed haben – dann noch ADFS restarten und es kann losgehen; die DLL erkennt Deutsch und Englisch und reagiert entsprechend.
Wichtig: Der Provider verwendet nur den Benutzernamen (sAMAccountName) OHNE Domäne für den Regex Check bzw. den MultiOTP Call!