nemiah / phpFinTS

PHP library to communicate with FinTS/HBCI servers
MIT License
130 stars 42 forks source link

Sparda BW scheint die verfügbaren TAN Modes anders zu signalisieren #396

Closed dasJ closed 1 year ago

dasJ commented 1 year ago

Mit dem browser.php Sample bekomme ich:

[Fri Nov 18 11:36:33 2022] 127.0.0.1:56844 [200]: POST /browser.php - Uncaught TypeError: array_map(): Argument #2 ($array) must be of type array, null given in /tmp/comp/vendor/nemiah/php-fints/lib/Fhp/FinTs.php:845
Stack trace:
#0 /tmp/comp/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(845): array_map('intval', NULL)
#1 /tmp/comp/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(308): Fhp\FinTs->readBPD(Object(Fhp\Protocol\Message))
#2 /tmp/comp/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(832): Fhp\FinTs->execute(Object(Fhp\Protocol\DialogInitialization))
#3 /tmp/comp/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(705): Fhp\FinTs->executeWeakDialogInitialization(NULL)
#4 /tmp/comp/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(674): Fhp\FinTs->ensureSynchronized()
#5 /tmp/comp/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(532): Fhp\FinTs->ensureTanModesAvailable()
#6 /tmp/comp/Samples/browser.php(45): Fhp\FinTs->getTanModes()
#7 /tmp/comp/Samples/browser.php(94): handleRequest(Object(stdClass), Object(Fhp\FinTs))
#8 {main}
  thrown in /tmp/comp/vendor/nemiah/php-fints/lib/Fhp/FinTs.php on line 845

Ein naives einfügen von if ($allowed->rueckmeldungsparameter) führt nur dazu dass der Code später kaputt geht weil es keine TAN Methoden gibt. Wenn mehr Informationen benötigt werden, bitte melden.

dasJ commented 1 year ago

Wenn ich das HIRMS in den prettifier werden, bekomme ich:

HIRMS:5:2:4+3920::Zugelassene Ein- und Zwei-Schritt-Verfahren f�r den Benutzer.+0020::Informationen fehlerfrei entgegengenommen.'
Fhp\Segment\HIRMS\HIRMSv2 Object
(
    [rueckmeldung] => Array
        (
            [0] => Fhp\Segment\HIRMS\Rueckmeldung Object
                (
                    [rueckmeldungscode] => 3920
                    [bezugsdatenelement] =>
                    [rueckmeldungstext] => Zugelassene Ein- und Zwei-Schritt-Verfahren f�r den Benutzer.
                    [rueckmeldungsparameter] =>
                    [referenceSegment] =>
                )

            [1] => Fhp\Segment\HIRMS\Rueckmeldung Object
                (
                    [rueckmeldungscode] => 20
                    [bezugsdatenelement] =>
                    [rueckmeldungstext] => Informationen fehlerfrei entgegengenommen.
                    [rueckmeldungsparameter] =>
                    [referenceSegment] =>
                )

        )

    [segmentkopf] => Fhp\Segment\Segmentkopf Object
        (
            [segmentkennung] => HIRMS
            [segmentnummer] => 5
            [segmentversion] => 2
            [bezugselement] => 4
        )

)
Philipp91 commented 1 year ago

Heißt das nicht einfach, dass dieser Benutzer sich nicht mit FinTS einloggen kann? Eventuell muss die Bank das erst freischalten, oder man braucht ein bestimmtes TAN-Verfahren dafür.

dasJ commented 1 year ago

Ich werd am Montag mal anrufen ob das extra freigeschaltet werden muss, danke für den Vorschlag :)

dasJ commented 1 year ago

Danke, scheinbar geht die Secure App bei FinTS nicht, man braucht ChipTAN. Danke PSD2…