summaryrefslogtreecommitdiff
path: root/src/scm/webid-oidc/identity-provider.scm
diff options
context:
space:
mode:
Diffstat (limited to 'src/scm/webid-oidc/identity-provider.scm')
-rw-r--r--src/scm/webid-oidc/identity-provider.scm10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/scm/webid-oidc/identity-provider.scm b/src/scm/webid-oidc/identity-provider.scm
index 7f1fb48..cf06b62 100644
--- a/src/scm/webid-oidc/identity-provider.scm
+++ b/src/scm/webid-oidc/identity-provider.scm
@@ -41,6 +41,7 @@
#:use-module (sxml match)
#:use-module (srfi srfi-19)
#:use-module (rnrs bytevectors)
+ #:use-module (oop goops)
#:declarative? #t
#:export
(
@@ -66,7 +67,10 @@
(let ((key
(catch #t
(lambda ()
- (call-with-input-file key-file stubs:json->scm))
+ (call-with-input-file key-file
+ (lambda (port)
+ (jwk->key
+ (stubs:json->scm port)))))
(lambda error
(format (current-error-port)
(G_ "Warning: generating a new key pair."))
@@ -74,7 +78,7 @@
(stubs:call-with-output-file*
key-file
(lambda (port)
- (stubs:scm->json k port #:pretty #t)))
+ (stubs:scm->json (key->jwk k) port #:pretty #t)))
k)))))
(let ((alg
(if (eq? (kty key) 'RSA)
@@ -109,7 +113,7 @@
(exp-sec (+ current-sec 3600))
(exp (time-utc->date
(make-time time-utc 0 exp-sec))))
- (serve-jwks exp (make-jwks (list key)))))
+ (serve (make <jwks> #:keys (list key)) exp)))
((same-uri? uri authorization-endpoint-uri #:skip-query #t)
(authorization-endpoint request request-body))
((same-uri? uri token-endpoint-uri)