Codeblock Onlinehilfe

TbeCbJWT

TbeCbJWT

Wird benutzt um ein ` JSONWebToken ` zu erzeugen oder auch zu validieren.

Eigenschaften

Eigenschaft

Beschreibung

CbClaims:O

Hält die Ansprüche, Nutzdaten. Ansprüche sind Aussagen über eine Entität (typischerweise den Benutzer) und zusätzliche Daten. Objekt der TbeCBJWTClaims Klasse, wird automatisch hergestellt. Einige Ansprüche sind empfohlen, um Missbrauch von JWT-Token zu verhindern und einige grundlegende Informationen über den Kontext bereitzustellen, in dem das JWT ausgestellt wurde. Wie: Audience, Expiration, IssuedAt, Issuert, JWTId, NotBefore und Subject

CbHeader:O

Enthält Metadaten über den Tokentyp und den Signaturalgorithmus. Objekt der TbeCbJWTHeader Klasse, wird automatisch hergestellt.

Name:C


Tag:N


Methoden

Methode

Beschreibung

CbGenerateJWT(aSecret:C):C


CbLoadJWT(aToken:C)


CbLoadAndVerifyJWT(aToken:C, aSecret:C):L


CbGetLastError():C


Beispiel

| obeCbJWT:O, cToken:C, cTmpKey:C, lVerify:L |

function ReadMyFile(aFileName:C)
| oFileObject:O |

   cTmpKey     := '',
   oFileObject := FOpen(aFileName, FO_READ),
   FRead(oFileObject, cTmpKey, oFileObject.Size),
   FClose(oFileObject),
end,

obeCbJWT := CreateObject('TbeCbJWT', ),
startseq
   // ssh-keygen.exe -t rsa -b 4096 -m PEM -f jwtRS256.key
   ReadMyFile('jwtRS256.key'),
   obeCbJWT.CbClaims.CbSetClaim('myData', '{"key":1}'),
   cToken := obeCbJWT.CbGenerateJWT(cTmpKey),
   writeln('Token empfangen ' + cToken),

   // openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub
   ReadMyFile('jwtRS256.key.pub'),
   lVerify := obeCbJWT.CbLoadAndVerifyJWT(cToken, cTmpKey),
   if lVerify then
      writeln('Validated. ' + cToken),
   else
      writeln('Validation failed! ' + obeCbJWT.CbGetLastError()),
   endif,
   writeln('Claims: ' + obeCbJWT.CbClaims.CbJSON ),
always,
   if not lVerify then
      writeln('Validation failed! ' + obeCbJWT.CbGetLastError()),
   endif,

   DestroyObject(obeCbJWT),
stopseq,