Persistent API keys
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Bereich
- api, authentication
Rechercherichtung
Im Issue sind keine Repository-Dateien, Tests oder Einstiegspunkte identifiziert; beginne mit der in der Beschreibung verlinkten fastapi-users-Authentifizierungskonfiguration und verfolge den bestehenden JWT-Login-Ablauf. Definiere das Modell für persistente Schlüssel, den Widerruf, den optionalen Ablauf und die Scopes sowie den Austauschablauf, wobei die Erneuerung kurzlebiger JWTs sowohl für interaktives als auch für nicht-interaktives Login funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
At the moment, a user can login and get a JWT token. These tokens aren't stored in the database and have a baked-in expiry time. They're used for temporary sessions, typically by web browsers. This is fine and we'll definitely need this kind of tokens, but it's not designed to be used for automation tools that use the API continuously such as pipeline services.
In addition to the JWT, we should create another kind of tokens which we might call "API access keys". These would be stored in the database and could be revoked by the user. They may also have an expiry date and scopes to fine-tune the operations that can be performed with them. This is how most web APIs work, with persistent credentials for this kind of use-case. I don't think fastapi-users can support both, but it can support one or the other:
https://fastapi-users.github.io/fastapi-users/10.0/configuration/authentication/
In our particular case, I would like to suggest that we use the persistent API keys as a way to get a temporary JWT token. So a user can interactively login with a username / password interactive form or non-interactively by sending an access token. Then a short-lived JWT token is generated (say, valid for 1h) and when it expires a new one needs to be generated.
- Vorherrschende Sprache
- Python
- Sterne
- 10
- Forks
- 21
- Ø Merge
- 22 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus kernelci/kernelci-api
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
kernelci/kernelci-api#706 ·
-
Components/Maestro/API/Local instance says GET /latest/ should return some JSON, but it doesn'tEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offendocumentation
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
kernelci/kernelci-api#632 · 1 Kommentar ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
kernelci/kernelci-api#629 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
kernelci/kernelci-api#608 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
kernelci/kernelci-api#597 · 2 Kommentare ·
Alle Issues in kernelci/kernelci-api
Ähnliche Issues
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
pytest-dev/pluggy#757 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
NousResearch/hermes-agent#134960 ·
Maintainer antworten meist innerhalb von 1 Tag
-
HTML backend: `<br>` leaks the internal sentinel U+E000 into list items, headings and captionsEvtl. vergeben @morten-lagabote hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
docling-project/docling#4671 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue hacktoberfest infra
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag