Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Create JWT Using HS256, HS384, or HS512Demonstrates how to create a JWT using HS256, HS384, or HS512. (HS256 is JWT's acronym for HMAC-SHA256.) When HMAC is used, the secret is a shared secret (i.e. password) that both client and server know beforehand. This example also demonstrates how to include time constraints:
Use ChilkatAx-win32.pkg Procedure Test Handle hoJwt Handle hoJose Boolean iSuccess Handle hoClaims Integer iCurDateTime String sStrJwt String sTemp1 String sTemp2 // Demonstrates how to create an HMAC JWT using a shared secret (password). // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatJwt)) To hoJwt If (Not(IsComObjectCreated(hoJwt))) Begin Send CreateComObject of hoJwt End // Build the JOSE header Get Create (RefClass(cComChilkatJsonObject)) To hoJose If (Not(IsComObjectCreated(hoJose))) Begin Send CreateComObject of hoJose End // Use HS256. Pass the string "HS384" or "HS512" to use a different algorithm. Get ComAppendString Of hoJose "alg" "HS256" To iSuccess Get ComAppendString Of hoJose "typ" "JWT" To iSuccess // Now build the JWT claims (also known as the payload) Get Create (RefClass(cComChilkatJsonObject)) To hoClaims If (Not(IsComObjectCreated(hoClaims))) Begin Send CreateComObject of hoClaims End Get ComAppendString Of hoClaims "iss" "http://example.org" To iSuccess Get ComAppendString Of hoClaims "sub" "John" To iSuccess Get ComAppendString Of hoClaims "aud" "http://example.com" To iSuccess // Set the timestamp of when the JWT was created to now. Get ComGenNumericDate Of hoJwt 0 To iCurDateTime Get ComAddIntAt Of hoClaims -1 "iat" iCurDateTime To iSuccess // Set the "not process before" timestamp to now. Get ComAddIntAt Of hoClaims -1 "nbf" iCurDateTime To iSuccess // Set the timestamp defining an expiration time (end time) for the token // to be now + 1 hour (3600 seconds) Get ComAddIntAt Of hoClaims -1 "exp" (iCurDateTime + 3600) To iSuccess // Produce the smallest possible JWT: Set ComAutoCompact Of hoJwt To True Get ComEmit Of hoJose To sTemp1 Get ComEmit Of hoClaims To sTemp2 Get ComCreateJwt Of hoJwt sTemp1 sTemp2 "secret" To sStrJwt Showln sStrJwt End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.