diff options
Diffstat (limited to 'tests/dpop-proof-no-explicit-exp.scm')
-rw-r--r-- | tests/dpop-proof-no-explicit-exp.scm | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/tests/dpop-proof-no-explicit-exp.scm b/tests/dpop-proof-no-explicit-exp.scm index c485cac..5a4ccbc 100644 --- a/tests/dpop-proof-no-explicit-exp.scm +++ b/tests/dpop-proof-no-explicit-exp.scm @@ -26,18 +26,34 @@ (srfi srfi-19) (web response) (ice-9 receive) + (ice-9 optargs) (oop goops)) (define-class <dpop-proof-with-exp> (<dpop-proof>)) +(define-method (initialize (token <dpop-proof-with-exp>) initargs) + (next-method) + ;; Override exp + (let-keywords + initargs #t + ((validity #f)) + (slot-set! token 'exp + (let ((iat (time-second (date->time-utc (iat token))))) + (time-utc->date + (make-time time-utc 0 + (+ iat validity))))))) + (define malicious-jwt-created? #f) (define-method (token->jwt (token <dpop-proof-with-exp>)) (set! malicious-jwt-created? #t) (receive (header payload) (next-method) - (values header - `((exp . ,(time-second (date->time-utc (exp token)))) - ,@payload)))) + (let ((exp (time-second (date->time-utc (exp token))))) + (unless (equal? exp 3600) + (exit 3)) + (values header + `((exp . ,exp) + ,@payload))))) (with-test-environment "dpop-proof-no-explicit-exp" |