summaryrefslogtreecommitdiff
path: root/tests/dpop-proof-no-explicit-exp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/dpop-proof-no-explicit-exp.scm')
-rw-r--r--tests/dpop-proof-no-explicit-exp.scm22
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"