From feb5baa63974746614ff0b4aae68484b6bff8ec3 Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Fri, 1 Oct 2021 09:36:40 +0200 Subject: client manifest: make room for client manifest extensions In case of multiple inheritance, it is required that the ->json-data method for the base class to allow for a next method. --- po/disfluid.pot | 4 ++-- po/fr.po | 4 ++-- src/scm/webid-oidc/client-manifest.scm | 13 ++++++++++--- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/po/disfluid.pot b/po/disfluid.pot index 8587eb6..5f695c9 100644 --- a/po/disfluid.pot +++ b/po/disfluid.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: disfluid SNAPSHOT\n" "Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n" -"POT-Creation-Date: 2021-10-04 22:59+0200\n" +"POT-Creation-Date: 2021-10-04 23:00+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -460,7 +460,7 @@ msgid "" "approved.

" msgstr "" -#: src/scm/webid-oidc/client-manifest.scm:263 +#: src/scm/webid-oidc/client-manifest.scm:270 msgid "cannot serve the public manifest" msgstr "" diff --git a/po/fr.po b/po/fr.po index 83b28dd..3c51f45 100644 --- a/po/fr.po +++ b/po/fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: webid-oidc 0.0.0\n" "Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n" -"POT-Creation-Date: 2021-10-04 22:59+0200\n" +"POT-Creation-Date: 2021-10-04 23:00+0200\n" "PO-Revision-Date: 2021-10-04 22:59+0200\n" "Last-Translator: Vivien Kraus \n" "Language-Team: French \n" @@ -502,7 +502,7 @@ msgstr "" "

L’applicationn veut récupérer votre code d’autorisation via ~s, qui n’est pas approuvé.

" -#: src/scm/webid-oidc/client-manifest.scm:263 +#: src/scm/webid-oidc/client-manifest.scm:270 msgid "cannot serve the public manifest" msgstr "impossible de servir le manifeste public" diff --git a/src/scm/webid-oidc/client-manifest.scm b/src/scm/webid-oidc/client-manifest.scm index dd29152..2a901c2 100644 --- a/src/scm/webid-oidc/client-manifest.scm +++ b/src/scm/webid-oidc/client-manifest.scm @@ -253,9 +253,16 @@ approved.

")) (check-redirect mf (redirect-uris mf) redir))) (define-method (->json-data (mf )) - `((@context . "https://www.w3.org/ns/solid/oidc-context.jsonld") - (client_id . ,(uri->string (client-id mf))) - (redirect_uris . ,(list->vector (map uri->string (redirect-uris mf)))))) + (let ((other + (catch 'goops-error + (lambda () + (next-method)) + (lambda _ + '())))) + `((@context . "https://www.w3.org/ns/solid/oidc-context.jsonld") + (client_id . ,(uri->string (client-id mf))) + (redirect_uris . ,(list->vector (map uri->string (redirect-uris mf)))) + ,@other))) (define-method (serve (mf ) expiration-date) (when (equal? (client-id mf) public-client-uri) -- cgit v1.2.3