-
-
Notifications
You must be signed in to change notification settings - Fork 660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PSA: change authentication from user/password to token #13612
Conversation
This is such a good news for my Citroen! |
Super PR! Wenn ich es richtig verstehe, wird hier die Lösung von Flobz portiert? |
@hurzhurz erstmal: super cool! Und danke für Deine Mühe! Funktioniert das den auch noch? Weil bei flobz gibt es mit dem refresh token seit kurzem Probleme: flobz/psa_car_controller#851 (comment) |
Im Prinzip ja, also ich habe mir die Lösung nicht komplett angeschaut, aber ich glaube Flobz hatte das evtl. schon immer so gemacht mit der Verwendung vom refresh_token. Zumindest ist der Teil nichts neues an der API. Für die Umsetzung habe ich hier nun vorallem Code von der Mercedes-Integration verwendet und angepasst, dort ist das ziemlich ähnlich.
Also ich hatte zumindest beim Basteln in den letzten Tagen keine Probleme, da hat alles funktioniert. |
Was noch auffällt: die Pflege von Client ID/Secret ist jetzt doppelt. Vorschlag: die sollte komplett in |
Ja, das doppelt zu Pflegen ist definitiv höchstens eine Interimslösung. |
@hurzhurz let me try to simplify this. It would be helpful if anybody could send credentials to info@evcc.io. Seems we might be able to automate this entirely ;) |
I probably broke it, but it may be worth retrying from here. |
Citroen credentials sent |
@hurzhurz wenns ok ist würde ich auch noch den Refresh umbauen- immer in der Hoffnung, dass wir die zwischenzeitlich eingebauten Fehler beheben können? |
@andig klar, nur zu :) Größtenteils scheint es zu funktionieren, aber hier ist das Realm noch ein Problem: |
Ok, wir brauchen das also noch. Dann lass uns doch noch eine |
Mach Dir nix draus- ich hab ja genau das schon 5000x gemacht. Lösch dann gerne raus was ich auskommentiert habe. |
Oder noch besser: wir übergeben das wieder so wie es am Anfang war. Moment. |
Ich habe jetzt einen Testaccount für Citroen, bekomme aber keinen Code. Mir ist nicht klar welches Country angegeben werden muss (wovon hängt das ab- Auto ist deutsch, Anwender aus LT). Die Citroen Seite sagt dann immer "unbekannter Account" auf fronzösisch :O. |
Ok, also ich hab es nun von "account" auf "user" geändert, kein Problem :)
Mit dem User als Parameter geht es genauso. Da der in der config steht kann man den SettingsKey problemlos jederzeit ermitteln.
Ok, also kann man dann noch entfernen/herauslösen. Wobei es vermutlich auch nicht stören würde das für PSA drin zu lassen?
Also bei mir ist die Login-Formular aktuell auch immer auf französisch, warum auch immer. Erst die Bestätigung ist dann auf deutsch. |
Nochmal wegen Identity, SettingsKey, User/Subject/... : |
Do you have to do any additional verification at any point? (PIN or SMS verification) (Login data provided is taken from evcc yaml where it used to work fine before the PSA changed things, also works fine with Citroen app now) |
Das braucht es nur wenn Du das Token speichern willst. Wie gesagt -> separater PR da es das für andere Fahrzeuge auch braucht. Lass uns das hier einfach nicht machen.
Ein Parameter und damit eine Fehlerquelle weniger den wir ohnehin schon kennen und der v.a. zusammen passen muss. |
Reverted last changes re session storage and aligned with Tesla implementation. We also need to re-add the opel etc templates or application start will break if anyone still has these in his config. Or (maybe better) add them as |
Da hatten wir evtl. etwas aneinander vorbeigeredet :) Line 31 in 5c31b76
Aber egal, so passt es ja dann
Alles klar. Ich hab noch eine weitere kleine Änderung, die fürs speichern aus der token_psa.go heraus nötig war, entfernt. |
No, just the login with username/email and password, nothing else |
I have used as base and adapted it for new individual template files.
|
Sieht gut aus! Verbleibendes Problem sind noch die Templates (und dass ich nix testen kann...). Templates muss ich nochmal nachgrübeln. |
@andig was bräuchtest zum Testen? Würde meinem Peugeot gerne zur Verfügung stellen. |
Zugangsdaten für info@evcc.io |
Also abgesehen davon dass es etwas unschön/redundant ist für jede Marke ein eigenes Template (mit minimalsten Unterschieden) zu haben, bin ich mir gerade nicht sicher was für ein Problem damit noch übrig bliebe bei den Templates?
auf
Und das hat geklappt. Wobei evtl. zu erwähnen wäre dass ich im Bezug auf den/die Token Parameter vom Tesla Template etwas abweichen musste um kein Fehler zu bekommen. EDIT: ok doch, ein kleines Problem gab es noch beim Generieren von Tokens: |
Klasse PR, vielen Dank! |
Dir vielen Dank für deine Mühe das ganze nochmal so kräftig zu überarbeiten! :) Nur eine kleine Anmerkung noch zum letzten commit: |
Und weg, danke. So ist das wenn mans überall identisch haben will ;) |
Echt prima dass ihr einen Weg gefunden habt das in evcc einzubauen. Hier gibt es eine Diskussion zur Anwendung. Machen wir etwas falsch? Fehlt ein Schritt? |
Fixes #11735
Refs #11589 (comment)
Die Umsetzung könnte sicherlich noch verbessert werden, aber zumindest lässt sich die direkte PSA Integration so schonmal wieder nutzen.