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,