From d288ab832eea52e96fa06a6b9deb6afd6ba2e3ac Mon Sep 17 00:00:00 2001 From: Daniele Teti Date: Thu, 15 Sep 2022 09:09:33 +0200 Subject: [PATCH] preparing for 3.2.2-nitrogen --- .../JWTServer.dproj | 435 +++------------- .../WebModuleUnit1.dfm | 1 - .../WebModuleUnit1.pas | 14 +- .../vclclient/JWTClient.dproj | 465 ++++-------------- sources/MVCFramework.JWT.pas | 24 +- sources/MVCFramework.Middleware.JWT.pas | 13 +- sources/dmvcframeworkbuildconsts.inc | 2 +- tasks.py | 8 +- 8 files changed, 229 insertions(+), 733 deletions(-) diff --git a/samples/jsonwebtoken_livevaliditywindow/JWTServer.dproj b/samples/jsonwebtoken_livevaliditywindow/JWTServer.dproj index f24af40d..8a34d3d3 100644 --- a/samples/jsonwebtoken_livevaliditywindow/JWTServer.dproj +++ b/samples/jsonwebtoken_livevaliditywindow/JWTServer.dproj @@ -1,7 +1,7 @@  {7B54055A-5749-4136-9FE2-35FDBEEA874C} - 19.1 + 19.5 VCL JWTServer.dpr True @@ -104,10 +104,6 @@ - - Cfg_2 - Base - Base @@ -115,6 +111,10 @@ Cfg_1 Base + + Cfg_2 + Base + Delphi.Personality.12 @@ -166,13 +166,8 @@ Microsoft Office XP Sample Automation Server Wrapper Components - - - - JWTServer.exe - true - - + + 1 @@ -181,14 +176,14 @@ 0 - + classes - 1 + 64 classes - 1 + 64 @@ -233,7 +228,6 @@ 1 - library\lib\armeabi-v7a @@ -310,6 +304,16 @@ 1 + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + res\drawable-ldpi @@ -470,6 +474,10 @@ 1 .framework + + 1 + .framework + 0 @@ -483,6 +491,10 @@ 1 .dylib + + 1 + .dylib + 0 .dll;.bpl @@ -497,7 +509,7 @@ 1 .dylib - + 1 .dylib @@ -509,6 +521,10 @@ 1 .dylib + + 1 + .dylib + 0 .bpl @@ -527,7 +543,7 @@ 0 - + 0 @@ -536,6 +552,9 @@ 0 + + 0 + 0 @@ -545,13 +564,17 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -561,181 +584,27 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 @@ -745,7 +614,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -755,7 +624,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -765,7 +634,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -775,7 +644,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -785,191 +654,37 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - - - 1 - - - 1 - - - 1 - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 @@ -979,7 +694,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 @@ -989,7 +704,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -999,7 +714,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -1009,7 +724,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -1019,7 +734,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -1029,7 +744,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -1039,7 +754,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -1061,8 +776,11 @@ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1 + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + - @@ -1073,7 +791,7 @@ 1 - + 1 @@ -1089,6 +807,10 @@ Contents\Resources 1 + + Contents\Resources + 1 + @@ -1105,7 +827,7 @@ 1 - + 1 @@ -1117,6 +839,9 @@ 1 + + 1 + 0 @@ -1155,16 +880,18 @@ 1 - - + + - + + + - - - + + + True diff --git a/samples/jsonwebtoken_livevaliditywindow/WebModuleUnit1.dfm b/samples/jsonwebtoken_livevaliditywindow/WebModuleUnit1.dfm index a295b945..2c58d387 100644 --- a/samples/jsonwebtoken_livevaliditywindow/WebModuleUnit1.dfm +++ b/samples/jsonwebtoken_livevaliditywindow/WebModuleUnit1.dfm @@ -1,5 +1,4 @@ object WebModule1: TWebModule1 - OldCreateOrder = False OnCreate = WebModuleCreate Actions = < item diff --git a/samples/jsonwebtoken_livevaliditywindow/WebModuleUnit1.pas b/samples/jsonwebtoken_livevaliditywindow/WebModuleUnit1.pas index 0a515b46..d1d43853 100644 --- a/samples/jsonwebtoken_livevaliditywindow/WebModuleUnit1.pas +++ b/samples/jsonwebtoken_livevaliditywindow/WebModuleUnit1.pas @@ -34,6 +34,7 @@ uses AuthenticationU, MVCFramework.Middleware.JWT, MVCFramework.JWT, + MVCFramework.HMAC, MVCFramework.Middleware.StaticFiles, System.DateUtils; @@ -64,14 +65,15 @@ begin .AddController(TApp1MainController) .AddController(TAdminController) .AddMiddleware(TMVCJWTAuthenticationMiddleware.Create( - TAuthenticationSample.Create, lClaimsSetup, 'mys3cr37', '/login', - [TJWTCheckableClaim.ExpirationTime, TJWTCheckableClaim.NotBefore, TJWTCheckableClaim.IssuedAt], 0 + TAuthenticationSample.Create, + lClaimsSetup, + 'mys3cr37', + '/login', + [TJWTCheckableClaim.ExpirationTime, TJWTCheckableClaim.NotBefore, TJWTCheckableClaim.IssuedAt], + 0, + HMAC_HS512 // just for test, Leeway seconds is zero. )); -// .AddMiddleware(TMVCStaticFilesMiddleware.Create( -// '/static', { StaticFilesPath } -// '..\..\www' { DocumentRoot } -// )); end; end. diff --git a/samples/jsonwebtoken_livevaliditywindow/vclclient/JWTClient.dproj b/samples/jsonwebtoken_livevaliditywindow/vclclient/JWTClient.dproj index 17ee4b0d..6030ba9e 100644 --- a/samples/jsonwebtoken_livevaliditywindow/vclclient/JWTClient.dproj +++ b/samples/jsonwebtoken_livevaliditywindow/vclclient/JWTClient.dproj @@ -1,7 +1,7 @@  {E7317702-64D3-4A65-8734-030F3AE3DBBC} - 19.1 + 19.5 VCL JWTClient.dpr True @@ -110,10 +110,6 @@
MainForm
dfm
- - Cfg_2 - Base - Base @@ -121,6 +117,10 @@ Cfg_1 Base + + Cfg_2 + Base + Delphi.Personality.12 @@ -137,13 +137,8 @@ Microsoft Office XP Sample Automation Server Wrapper Components - - - - JWTClient.exe - true - - + + 1 @@ -156,14 +151,14 @@ 0 - + classes - 1 + 64 classes - 1 + 64 @@ -208,7 +203,6 @@ 1 - library\lib\armeabi-v7a @@ -285,6 +279,16 @@ 1 + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + res\drawable-ldpi @@ -448,6 +452,11 @@ 1 .framework + + Contents\MacOS + 1 + .framework + 0 @@ -461,7 +470,7 @@ 1 .dylib - + 1 .dylib @@ -475,6 +484,11 @@ 1 .dylib + + Contents\MacOS + 1 + .dylib + 0 .dll;.bpl @@ -489,7 +503,7 @@ 1 .dylib - + 1 .dylib @@ -503,6 +517,11 @@ 1 .dylib + + Contents\MacOS + 1 + .dylib + 0 .bpl @@ -521,7 +540,7 @@ 0 - + 0 @@ -532,6 +551,10 @@ Contents\Resources\StartUp\ 0 + + Contents\Resources\StartUp\ + 0 + 0 @@ -541,13 +564,17 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -557,181 +584,27 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 @@ -741,7 +614,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -751,7 +624,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -761,7 +634,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -771,7 +644,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -781,191 +654,37 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - - - 1 - - - 1 - - - 1 - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 @@ -975,7 +694,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1 @@ -985,7 +704,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -995,7 +714,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -1005,7 +724,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -1015,7 +734,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -1025,7 +744,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -1035,7 +754,7 @@ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 - + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1 @@ -1057,12 +776,8 @@ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1 - - - - 1 - - + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1 @@ -1075,6 +790,10 @@ ..\ 1 + + ..\ + 1 + @@ -1083,7 +802,7 @@ 1 - + 1 @@ -1092,7 +811,7 @@ ..\$(PROJECTNAME).launchscreen 64 - + ..\$(PROJECTNAME).launchscreen 64 @@ -1104,7 +823,7 @@ 1 - + 1 @@ -1113,6 +832,10 @@ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1 + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + @@ -1123,6 +846,10 @@ ..\ 1 + + ..\ + 1 + @@ -1133,6 +860,10 @@ Contents 1 + + Contents + 1 + @@ -1143,6 +874,10 @@ Contents\Resources 1 + + Contents\Resources + 1 + @@ -1159,7 +894,7 @@ 1 - + 1 @@ -1173,6 +908,10 @@ Contents\MacOS 1 + + Contents\MacOS + 1 + 0 @@ -1211,16 +950,18 @@ 1 - - + + - + + + - - - + + + True diff --git a/sources/MVCFramework.JWT.pas b/sources/MVCFramework.JWT.pas index cc4b91b3..bcd51f93 100644 --- a/sources/MVCFramework.JWT.pas +++ b/sources/MVCFramework.JWT.pas @@ -32,7 +32,7 @@ uses System.Generics.Collections, JsonDataObjects, MVCFramework, - MVCFramework.Patches; + MVCFramework.Patches, MVCFramework.HMAC; type @@ -262,7 +262,10 @@ type function GetLiveValidityWindowInSeconds: Cardinal; function IsValidToken(const Token: string; out Header, Payload: TJDOJSONObject; out Error: string): Boolean; public - constructor Create(const SecretKey: string; const ALeewaySeconds: Cardinal = 300); virtual; + constructor Create( + const SecretKey: string; + const ALeewaySeconds: Cardinal = 300; + const HMACAlgorithm: String = HMAC_HS512); virtual; destructor Destroy; override; function GetToken: string; function LoadToken(const Token: string; out Error: string): Boolean; @@ -286,7 +289,6 @@ implementation uses System.SysUtils, MVCFramework.Commons, - MVCFramework.HMAC, System.DateUtils, IdGlobal; @@ -508,7 +510,7 @@ begin Result := True; end; -constructor TJWT.Create(const SecretKey: string; const ALeewaySeconds: Cardinal = 300); +constructor TJWT.Create(const SecretKey: string; const ALeewaySeconds: Cardinal; const HMACAlgorithm: String); begin inherited Create; FSecretKey := SecretKey; @@ -587,6 +589,7 @@ begin lPieces := Token.Split(['.']); if Length(lPieces) <> 3 then begin + Error := Error + ' (step1)'; Exit(False); end; @@ -594,6 +597,7 @@ begin try if not Assigned(Header) then begin + Error := Error + ' (step2)'; Exit(False); end; @@ -601,11 +605,13 @@ begin try if not Assigned(Payload) then begin + Error := Error + ' (step3)'; Exit(False); end; if not Header.Contains('alg') then begin + Error := Error + ' (step4)'; Exit(False); end; @@ -623,6 +629,7 @@ begin if not CheckExpirationTime(Payload, Error) then begin Exit(False); + Error := Error + ' (step6)'; end; end; @@ -632,6 +639,7 @@ begin if not CheckNotBefore(Payload, Error) then begin Exit(False); + Error := Error + ' (step7)'; end; end; @@ -640,10 +648,16 @@ begin if not CheckIssuedAt(Payload, Error) then begin Exit(False); + Error := Error + ' (step8)'; end; end; + + Error := ''; + end + else + begin + Error := Error + ' (step5)'; end; - Error := ''; finally if not Result then FreeAndNil(Payload); diff --git a/sources/MVCFramework.Middleware.JWT.pas b/sources/MVCFramework.Middleware.JWT.pas index 51269f29..1a1ba230 100644 --- a/sources/MVCFramework.Middleware.JWT.pas +++ b/sources/MVCFramework.Middleware.JWT.pas @@ -35,7 +35,8 @@ uses MVCFramework, MVCFramework.Commons, MVCFramework.JWT, - JsonDataObjects; + JsonDataObjects, + MVCFramework.HMAC; type TMVCJWTDefaults = class sealed @@ -71,6 +72,7 @@ type FAuthorizationHeaderName: string; FUserNameHeaderName: string; FPasswordHeaderName: string; + FHMACAlgorithm: String; protected function NeedsToBeExtended(const JWTValue: TJWT): Boolean; procedure ExtendExpirationTime(const JWTValue: TJWT); @@ -88,7 +90,9 @@ type AConfigClaims: TJWTClaimsSetup; ASecret: string = 'D3lph1MVCFram3w0rk'; ALoginURLSegment: string = '/login'; - AClaimsToCheck: TJWTCheckableClaims = []; ALeewaySeconds: Cardinal = 300); overload; virtual; + AClaimsToCheck: TJWTCheckableClaims = []; + ALeewaySeconds: Cardinal = 300; + AHMACAlgorithm: String = HMAC_HS512); overload; virtual; property AuthorizationHeaderName: string read FAuthorizationHeaderName; property UserNameHeaderName: string read FUserNameHeaderName; property PasswordHeaderName: string read FPasswordHeaderName; @@ -148,7 +152,9 @@ constructor TMVCJWTAuthenticationMiddleware.Create( AConfigClaims: TJWTClaimsSetup; ASecret, ALoginURLSegment: string; AClaimsToCheck: TJWTCheckableClaims; - ALeewaySeconds: Cardinal); + ALeewaySeconds: Cardinal; + AHMACAlgorithm: String + ); begin inherited Create; FAuthenticationHandler := AAuthenticationHandler; @@ -160,6 +166,7 @@ begin FAuthorizationHeaderName := TMVCJWTDefaults.AUTHORIZATION_HEADER; FUserNameHeaderName := TMVCJWTDefaults.USERNAME_HEADER; FPasswordHeaderName := TMVCJWTDefaults.PASSWORD_HEADER; + FHMACAlgorithm := AHMACAlgorithm; end; procedure TMVCJWTAuthenticationMiddleware.ExtendExpirationTime(const JWTValue: TJWT); diff --git a/sources/dmvcframeworkbuildconsts.inc b/sources/dmvcframeworkbuildconsts.inc index ba14e79b..5ec67587 100644 --- a/sources/dmvcframeworkbuildconsts.inc +++ b/sources/dmvcframeworkbuildconsts.inc @@ -1,2 +1,2 @@ const - DMVCFRAMEWORK_VERSION = '3.2.2-nitrogen-beta'; \ No newline at end of file + DMVCFRAMEWORK_VERSION = '3.2.2-nitrogen'; \ No newline at end of file diff --git a/tasks.py b/tasks.py index 2181e8a0..ee86b5fc 100644 --- a/tasks.py +++ b/tasks.py @@ -146,7 +146,7 @@ def copy_sources(): "dmvcframeworkDT.dpk", ] - folders = ["d100", "d101", "d102", "d103", "d104"] + folders = ["d100", "d101", "d102", "d103", "d104","d110","d111","d112"] for folder in folders: print(f"Copying DMVCFramework Delphi {folder} packages...") @@ -280,6 +280,12 @@ def clean(ctx, folder=None): rmtree(folder + r"\lib\loggerpro\packages\d103\Win32\Debug", True) rmtree(folder + r"\lib\loggerpro\packages\d104\__history", True) rmtree(folder + r"\lib\loggerpro\packages\d104\Win32\Debug", True) + rmtree(folder + r"\lib\loggerpro\packages\d110\__history", True) + rmtree(folder + r"\lib\loggerpro\packages\d110\Win32\Debug", True) + rmtree(folder + r"\lib\loggerpro\packages\d111\__history", True) + rmtree(folder + r"\lib\loggerpro\packages\d111\Win32\Debug", True) + rmtree(folder + r"\lib\loggerpro\packages\d112\__history", True) + rmtree(folder + r"\lib\loggerpro\packages\d112\Win32\Debug", True) rmtree(folder + r"\lib\dmustache\.git", True) rmtree(folder + r"\lib\swagdoc\lib", True) rmtree(folder + r"\lib\swagdoc\deploy", True)