Ich habe das hier gefunden:
https://github.com/paolo-rossi/delphi-jose-jwt . hat da jemand Erfahrung damit?
So wie ich das überflogen habe sollte es reichen, um anhand von Credentials ein bearer jwt zu generieren und validieren.
Wie erwähnt, ich glaube um eine B2B rest-
api zu sichern müsste das ausreichen?
Ich mache schon länger kein Delphi mehr, zu dem Lib kann ich Dir daher nicht viel sagen.
Allerdings frage ich mich dann, warum dann überhaupt die Indirektion über das JWT?
Wenn der Kunde eh Credentials bekommt, kann er diese doch dann im Prinzip gleich als Basic-Auth ( also Base64Encode(username:password) ) mitschicken, oder Du generierst anstelle von Username + Password für jeden Kunden direkt einen
Api-Key, den er auch als ApiKey-Header mitschickt. Kurzer Lookup in der
DB ob der
API-Key drin steht (und ggf. basierend darauf die Rechte dieses Users ermitteln), und
wuppdi, ist der Aufruf authorisiert.
Ob Du jetzt einen User im Token-Server deaktivierst damit er keine Tokens mehr bekommt oder den
API-Key direkt invalidierst schenkt sich da meiner Meinung nach nicht wirklich viel. Und Du musst Dich nicht mit JWT's generieren, signieren und validieren herumschlagen.
Hmm.. Ja, das hat was. Ich sehe jetzt auch nicht warum der Kunde sich zuerst mit seinen Credentials ein JWT holen soll, bevor er loslegen kann. Ist der Grund ev. in sicherheitsrelevanten Gründen zu suchen? Kann so besser eine man-in-the-middle Attacke vermieden werden?
Wenn nicht, dann reicht basic-auth oder
Api-Key.