summaryrefslogtreecommitdiff
path: root/src/scm/webid-oidc/token-endpoint.scm
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2021-07-06 12:07:13 +0200
committerVivien Kraus <vivien@planete-kraus.eu>2021-07-06 12:52:46 +0200
commit9d23792481d7ae8d75d9565dd2a0b1e17d08943b (patch)
treec7b9933c8d946175d480dc8e50b8ad86a527d704 /src/scm/webid-oidc/token-endpoint.scm
parent888fb3e55a5deca32aa46a2bdc7fa5994768797d (diff)
Also log exceptions
Diffstat (limited to 'src/scm/webid-oidc/token-endpoint.scm')
-rw-r--r--src/scm/webid-oidc/token-endpoint.scm27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/scm/webid-oidc/token-endpoint.scm b/src/scm/webid-oidc/token-endpoint.scm
index 95681bb..5a05945 100644
--- a/src/scm/webid-oidc/token-endpoint.scm
+++ b/src/scm/webid-oidc/token-endpoint.scm
@@ -30,6 +30,7 @@
#:use-module (web uri)
#:use-module (ice-9 optargs)
#:use-module (ice-9 receive)
+ #:use-module (ice-9 control)
#:use-module (srfi srfi-19)
#:use-module (rnrs bytevectors))
@@ -61,15 +62,19 @@
(else
(raise-exception err))))
(throw err)))
- (with-exception-handler
- (lambda (error)
- (values
- (build-response
- #:code 400
- #:reason-phrase (string-append "Bad Request: " (error->str error)))
- (error->str error)))
- thunk
- #:unwind? #t))
+ (call/ec
+ (lambda (return)
+ (with-exception-handler
+ (lambda (error)
+ (return
+ (build-response
+ #:code 400
+ #:reason-phrase (string-append "Bad Request: " (error->str error)))
+ (error->str error)
+ #f
+ error))
+ thunk
+ #:unwind? #t))))
(define*-public (make-token-endpoint token-endpoint-uri iss alg jwk validity jti-list
#:key
@@ -181,4 +186,6 @@
(access_token . ,access-token)
(token_type . "DPoP")
(expires_in . ,validity)
- (refresh_token . ,refresh-token)))))))))))))
+ (refresh_token . ,refresh-token)))
+ client-id
+ #f))))))))))