Login beim Start, API-Key wird gespeichert; README: PAC-Proxy als Bremse
Erik (07.09.2026): "zuerst soll ein Loginfenster kommen und nach dem Login soll der Apikey gespeichert werden." - plugin.py: ohne gespeicherten Key zeigt initGui 1,5 s nach dem QGIS-Start den Anmeldedialog (singleShot, damit der Dialog den Start nicht blockiert); mit Key wie bisher direkt die Verfahrensliste. - Nach erfolgreichem Login werden api_key (userauth) UND mail in QSettings gemerkt, die Meldung nennt den angemeldeten Nutzer und die Dauerhaftigkeit. Das Passwort wird nie gespeichert. - README: Login-Verhalten; Abschnitt zum PAC-Proxy, der jede QGIS-Anfrage ~10 s kostet (gemessen 07.09.2026: Server antwortet in 0,35 s, alle Antworten 200/204). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+12
-5
@@ -115,8 +115,9 @@ class VlnKartenPlugin:
|
||||
|
||||
self._set_logged_out_ui()
|
||||
|
||||
# Gespeicherten API-Key aus früherer Sitzung wiederverwenden;
|
||||
# die Verfahrensliste erst nach dem QGIS-Start abrufen.
|
||||
# Gespeicherten API-Key aus früherer Sitzung wiederverwenden; sonst gleich beim Start
|
||||
# anmelden (Erik, 07.09.2026: „zuerst ein Loginfenster, danach den API-Key speichern").
|
||||
# Beides erst NACH dem QGIS-Start (singleShot), sonst blockiert der Dialog das Laden.
|
||||
settings = QSettings()
|
||||
settings.beginGroup(SETTINGS_GROUP)
|
||||
api_key = settings.value("api_key", "")
|
||||
@@ -125,6 +126,8 @@ class VlnKartenPlugin:
|
||||
if api_key:
|
||||
self.client = KartenApiClient(api_key=api_key, mail=mail)
|
||||
QTimer.singleShot(0, self.populate_verfahren)
|
||||
else:
|
||||
QTimer.singleShot(1500, self.run_login)
|
||||
|
||||
def unload(self):
|
||||
for signal in (self.iface.projectRead, self.iface.newProjectCreated):
|
||||
@@ -165,17 +168,21 @@ class VlnKartenPlugin:
|
||||
return
|
||||
|
||||
self.client = client
|
||||
# Nach dem Login wird der API-Key (userauth) gespeichert und in jeder weiteren Sitzung
|
||||
# wiederverwendet — das Passwort selbst speichert das Plugin nie. Ablage: QSettings
|
||||
# („vln_karten/api_key"), zurücksetzen über „Abmelden".
|
||||
settings = QSettings()
|
||||
settings.beginGroup(SETTINGS_GROUP)
|
||||
settings.setValue("api_key", client.api_key)
|
||||
settings.setValue("mail", client.mail or dialog.mail())
|
||||
settings.endGroup()
|
||||
|
||||
self.iface.messageBar().pushMessage(
|
||||
"VLN Karten",
|
||||
"Anmeldung erfolgreich — die Zugangsdaten werden für künftige "
|
||||
"QGIS-Sitzungen gemerkt.",
|
||||
"Angemeldet als %s — der API-Key ist gespeichert und gilt auch nach einem "
|
||||
"QGIS-Neustart." % (client.mail or dialog.mail()),
|
||||
level=Qgis.Success,
|
||||
duration=5,
|
||||
duration=6,
|
||||
)
|
||||
self.populate_verfahren()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user