[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: JWT token - how to read?

  • Thread starter Thread starter brianlafertewk
  • Start date Start date
Status
Not open for further replies.
B

brianlafertewk

Guest
Here is some sample code that will read a token using the Chilkat .NET control and return a JSONObject with the payload and header. Stuff it inside a class method or a called procedure. DEFINE INPUT PARAMETER ipToken AS CHARACTER NO-UNDO. DEFINE VARIABLE ckGlobal AS Chilkat.Global NO-UNDO. DEFINE VARIABLE publicKey AS Chilkat.PublicKey NO-UNDO. DEFINE VARIABLE jwt AS Chilkat.Jwt NO-UNDO. DEFINE VARIABLE cTokenPayload AS CHARACTER NO-UNDO. DEFINE VARIABLE cTokenHeader AS CHARACTER NO-UNDO. DEFINE VARIABLE oJSONParser AS ObjectModelParser NO-UNDO. DEFINE VARIABLE tokenPayload AS JsonObject NO-UNDO. DEFINE VARIABLE tokenHeader AS JsonObject NO-UNDO. DEFINE VARIABLE tokenObject AS JsonObject NO-UNDO. // Authorize Chilkat Bundle ckGlobal = NEW Chilkat.Global(). ckGlobal:UnlockBundle('MyChilkatAuthCode'). IF NOT ckGlobal:LastMethodSuccess THEN UNDO, THROW NEW PROGRESS.Lang.AppError(ckGlobal:LastErrorText). // Load the Public Key to verify the token publicKey = NEW Chilkat.PublicKey(). publicKey:LoadFromFile("PublicKey.pem"). IF NOT publicKey:LastMethodSuccess THEN UNDO, THROW NEW PROGRESS.Lang.AppError("Invalid Public Key: " + publicKey:LastErrorText,500). // Get a JWT instance jwt = NEW Chilkat.Jwt(). IF NOT jwt:LastMethodSuccess THEN UNDO, THROW NEW PROGRESS.Lang.AppError("Invalid Token: " + jwt:LastErrorText,500). ASSIGN cTokenPayload = jwt:GetPayload(ipToken) cTokenHeader = jwt:GetHeader(ipToken). oJSONParser = NEW ObjectModelParser(). tokenPayload = CAST(oJSONParser:Parse(cTokenPayload),JsonObject). tokenHeader = CAST(oJSONParser:Parse(cTokenHeader),JsonObject). tokenObject = NEW JsonObject(). tokenObject:Add("header",tokenHeader). tokenObject:Add("payload",tokenPayload). RETURN tokenObject. CATCH e AS Progress.Lang.Error : UNDO, THROW e. END CATCH.

Continue reading...
 
Status
Not open for further replies.
Back
Top