grindsa / dkb-robo

library to access the internet banking area of "Deutsche Kreditbank" to get account information and transactions
GNU General Public License v3.0
141 stars 28 forks source link

Usage of ChipTAN? #56

Closed flyinggreenfrog closed 6 hours ago

flyinggreenfrog commented 2 months ago

I just saw your project and wanted to try it out. Installing it via pip3, and then using the CLI with ChipTAN (as I don't use any form of the DKB Apps). From the documentation it's not clear to me how the dkb CLI works with ChipTAN. It should, if I understand your documentation correctly: -t, --use-tan dbk-robo will ask for a TAN (generated by either ChipTan or TAN2go) during login.

How is the QR Code of the ChipTAN process shown (opened in a separate browser window?) or how does dkb_robo work with ChipTAN.

If I try to use without --use-tan option, then it uses https://banking.dkb.de:443, but no mfa_devices are found?

If I use with --use-tan option, it uses https://www.ib.dkb.de:443 (which DKB will shutdown in September?), then I got some error confirmForm not found.

I try to use as follows: dkb --debug -u XXX -p XXX --use-tan accounts.

grindsa commented 1 month ago

I did not test ChipTan since a while as it was not supported in the new UI. Seems its supported now. So let me have a look and try to find my old reader.... For the moment should only work in scenarios where you have to insert a TAN ("chipTAN manuell").

flyinggreenfrog commented 1 month ago

That would be very appreciated, if you could test chipTAN again, as this is the only way I use DKB banking. How should "chipTAN manuell" work? dkb CLI is or should show the start code and you have to enter the TAN after creation to dkb CLI?

grindsa commented 4 days ago

Hi,

I added support for chipTAN manual to the devel branch . Functionality is similar to the legacy implementation, meaning you need to add the TAN manually.

dkb -u <dkb_user> -p <dkb_pasword> -t accounts

Using to chip_tan to login
Du hast das Verfahren chipTAN manuell ausgewählt.

1. Stecke die Karte (・・・・・・ xxx) in den TAN-Generator und drücke die Taste TAN.

2. Gib den Startcode 12345678 ein und drücke die Taste OK.

3. Bitte bestätige den Auftrag mit der TAN deines TAN-Generators.

TAN: 651423
...

Feel free to test. I will look into chipTAN QR next...

grindsa commented 3 days ago

Hi again,

I did a proof-of-concept to implement chipTAN-qr support. I am able to get the QR code however I did not find a good way to display the QR code on console level. Decoding by pyzbar or cv2 and recoding by using qrcode does not work as the qrcode from DKB contains binary data so decoding fails.

Thus, I decided to use python-pillow do display the QR code in a separate window opened by the default image viewer.

Here is an example from my system. Would this be an acceptable way forward?

image

Feel free to try it yourself. The changes got pushed into a dkb_robo v0.27. You need to download an install it On top pillow is required to open show the qr code.

Feedback is always welcome…

G.

flyinggreenfrog commented 1 day ago

Thank you so much for your efforts so far, it's really appreciated @grindsa ! Unfortunately it may take some time on my side to test it, just wanted to let you know and thank you for your work. Apologies already in delay of testing on my side that I foresee because of different reasons on my side.

grindsa commented 6 hours ago

no problem at all. I released the fixes as part of dkb-robo v0.27. So please use this release for testing. I am closing the issue. If you face problems during testing pls reopen.