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!