summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--po/fr.po135
-rw-r--r--po/webid-oidc.pot124
-rw-r--r--src/scm/webid-oidc/program.scm44
-rw-r--r--src/scm/webid-oidc/token-endpoint.scm27
-rw-r--r--tests/client-token.scm4
-rw-r--r--tests/token-endpoint-issue.scm4
-rw-r--r--tests/token-endpoint-refresh.scm4
7 files changed, 189 insertions, 153 deletions
diff --git a/po/fr.po b/po/fr.po
index eff5daf..bd5233a 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: webid-oidc 0.0.0\n"
"Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n"
-"POT-Creation-Date: 2021-07-06 11:54+0200\n"
-"PO-Revision-Date: 2021-07-06 11:59+0200\n"
+"POT-Creation-Date: 2021-07-06 12:06+0200\n"
+"PO-Revision-Date: 2021-07-06 12:12+0200\n"
"Last-Translator: Vivien Kraus <vivien@planete-kraus.eu>\n"
"Language-Team: French <vivien@planete-kraus.eu>\n"
"Language: fr\n"
@@ -787,7 +787,8 @@ msgstr "la signature ~a ne correspond pas à la clé ~s avec le contenu ~a"
#: src/scm/webid-oidc/errors.scm:1463
#, scheme-format
msgid "the request failed unexpectedly with code ~a: ~s"
-msgstr "la requête au serveur a échoué de façon inattendue avec un code ~a : ~s"
+msgstr ""
+"la requête au serveur a échoué de façon inattendue avec un code ~a : ~s"
#: src/scm/webid-oidc/errors.scm:1467
msgid "there is an undefined variable"
@@ -992,15 +993,15 @@ msgid "Warning: ~a\n"
msgstr "Avertissement : ~a\n"
#: src/scm/webid-oidc/hello-world.scm:48 src/scm/webid-oidc/example-app.scm:116
-#: src/scm/webid-oidc/program.scm:159
+#: src/scm/webid-oidc/program.scm:163
msgid "command-line|version"
msgstr "version"
-#: src/scm/webid-oidc/hello-world.scm:50 src/scm/webid-oidc/program.scm:161
+#: src/scm/webid-oidc/hello-world.scm:50 src/scm/webid-oidc/program.scm:165
msgid "command-line|complete-corresponding-source"
msgstr "code-source-correspondant-complet"
-#: src/scm/webid-oidc/hello-world.scm:52 src/scm/webid-oidc/program.scm:163
+#: src/scm/webid-oidc/hello-world.scm:52 src/scm/webid-oidc/program.scm:167
msgid "command-line|help"
msgstr "aide"
@@ -1008,11 +1009,11 @@ msgstr "aide"
msgid "command-line|port"
msgstr "port"
-#: src/scm/webid-oidc/hello-world.scm:56 src/scm/webid-oidc/program.scm:193
+#: src/scm/webid-oidc/hello-world.scm:56 src/scm/webid-oidc/program.scm:197
msgid "command-line|log-file"
msgstr "fichier-journal"
-#: src/scm/webid-oidc/hello-world.scm:58 src/scm/webid-oidc/program.scm:195
+#: src/scm/webid-oidc/hello-world.scm:58 src/scm/webid-oidc/program.scm:199
msgid "command-line|error-file"
msgstr "fichier-erreur"
@@ -1071,12 +1072,12 @@ msgstr ""
" redirige la sortie d’erreur du programme vers ce fichier.\n"
#: src/scm/webid-oidc/hello-world.scm:103
-#: src/scm/webid-oidc/example-app.scm:159 src/scm/webid-oidc/program.scm:449
+#: src/scm/webid-oidc/example-app.scm:159 src/scm/webid-oidc/program.scm:453
#, scheme-format
msgid "~a version ~a\n"
msgstr "~a version ~a\n"
-#: src/scm/webid-oidc/hello-world.scm:112 src/scm/webid-oidc/program.scm:457
+#: src/scm/webid-oidc/hello-world.scm:112 src/scm/webid-oidc/program.scm:461
msgid ""
"You are legally required to link to the complete corresponding source code.\n"
msgstr ""
@@ -1252,73 +1253,85 @@ msgstr ""
"La locale du client ~s ne peut pas être approchée par la locale système ~s "
"(parce que ~a), on utilise C.\n"
-#: src/scm/webid-oidc/program.scm:123
-#, scheme-format
-msgid "~a: ~a (~a): ~s ~a ~s ~a\n"
+#: src/scm/webid-oidc/program.scm:124
+#, fuzzy, scheme-format
+#| msgid "~a: ~a: ~s ~a ~s ~a\n"
+msgid "~a: ~s ~a ~s ~a\n"
+msgstr "~a : ~a : ~s ~a ~s ~a\n"
+
+#: src/scm/webid-oidc/program.scm:126
+#, fuzzy, scheme-format
+#| msgid "~a: ~a (~a): ~s ~a ~s ~a\n"
+msgid "~a: ~a (~a)"
msgstr "~a : ~a (~a) : ~s ~a ~s ~a\n"
-#: src/scm/webid-oidc/program.scm:132
+#: src/scm/webid-oidc/program.scm:130
#, scheme-format
-msgid "~a: ~a: ~s ~a ~s ~a\n"
-msgstr "~a : ~a : ~s ~a ~s ~a\n"
+msgid "~a: ~a"
+msgstr "~a : ~a"
+
+#: src/scm/webid-oidc/program.scm:140
+#, scheme-format
+msgid "(there was an error: ~a)"
+msgstr "(il y a eu une erreur : ~a)"
-#: src/scm/webid-oidc/program.scm:165
+#: src/scm/webid-oidc/program.scm:169
msgid "command-line|server|port"
msgstr "port"
-#: src/scm/webid-oidc/program.scm:167
+#: src/scm/webid-oidc/program.scm:171
msgid "command-line|server|server-name"
msgstr "nom-du-serveur"
-#: src/scm/webid-oidc/program.scm:169
+#: src/scm/webid-oidc/program.scm:173
msgid "command-line|server|reverse-proxy|backend-uri"
msgstr "uri-arrière-plan"
-#: src/scm/webid-oidc/program.scm:171
+#: src/scm/webid-oidc/program.scm:175
msgid "command-line|server|reverse-proxy|header"
msgstr "en-tête"
-#: src/scm/webid-oidc/program.scm:173
+#: src/scm/webid-oidc/program.scm:177
msgid "command-line|server|issuer|key-file"
msgstr "fichier-clé"
-#: src/scm/webid-oidc/program.scm:175
+#: src/scm/webid-oidc/program.scm:179
msgid "command-line|server|issuer|subject"
msgstr "sujet"
-#: src/scm/webid-oidc/program.scm:177
+#: src/scm/webid-oidc/program.scm:181
msgid "command-line|server|issuer|encrypted-password"
msgstr "mot-de-passe-chiffré"
-#: src/scm/webid-oidc/program.scm:179
+#: src/scm/webid-oidc/program.scm:183
msgid "command-line|server|issuer|jwks-uri"
msgstr "uri-jwks"
-#: src/scm/webid-oidc/program.scm:181
+#: src/scm/webid-oidc/program.scm:185
msgid "command-line|server|issuer|authorization-endpoint-uri"
msgstr "uri-terminal-autorisation"
-#: src/scm/webid-oidc/program.scm:183
+#: src/scm/webid-oidc/program.scm:187
msgid "command-line|server|issuer|token-endpoint-uri"
msgstr "uri-terminal-jeton"
-#: src/scm/webid-oidc/program.scm:185
+#: src/scm/webid-oidc/program.scm:189
msgid "command-line|server|client-id"
msgstr "id-client"
-#: src/scm/webid-oidc/program.scm:187
+#: src/scm/webid-oidc/program.scm:191
msgid "command-line|server|redirect-uri"
msgstr "uri-redirection"
-#: src/scm/webid-oidc/program.scm:189
+#: src/scm/webid-oidc/program.scm:193
msgid "command-line|server|client-name"
msgstr "nom-client"
-#: src/scm/webid-oidc/program.scm:191
+#: src/scm/webid-oidc/program.scm:195
msgid "command-line|server|client-uri"
msgstr "uri-client"
-#: src/scm/webid-oidc/program.scm:220
+#: src/scm/webid-oidc/program.scm:224
#, scheme-format
msgid ""
"Usage: ~a COMMAND [OPTIONS]...\n"
@@ -1630,57 +1643,57 @@ msgstr ""
"Si vous trouvez une erreur dans le programme, envoyez-en un rapport à\n"
"~a.\n"
-#: src/scm/webid-oidc/program.scm:370 src/scm/webid-oidc/program.scm:428
-#: src/scm/webid-oidc/program.scm:531
+#: src/scm/webid-oidc/program.scm:374 src/scm/webid-oidc/program.scm:432
+#: src/scm/webid-oidc/program.scm:535
msgid "command-line|command|reverse-proxy"
msgstr "proxy-inversé"
-#: src/scm/webid-oidc/program.scm:371 src/scm/webid-oidc/program.scm:435
-#: src/scm/webid-oidc/program.scm:553
+#: src/scm/webid-oidc/program.scm:375 src/scm/webid-oidc/program.scm:439
+#: src/scm/webid-oidc/program.scm:557
msgid "command-line|command|identity-provider"
msgstr "fournisseur-identité"
-#: src/scm/webid-oidc/program.scm:372 src/scm/webid-oidc/program.scm:442
-#: src/scm/webid-oidc/program.scm:597
+#: src/scm/webid-oidc/program.scm:376 src/scm/webid-oidc/program.scm:446
+#: src/scm/webid-oidc/program.scm:601
msgid "command-line|command|client-service"
msgstr "service-client"
-#: src/scm/webid-oidc/program.scm:373 src/scm/webid-oidc/program.scm:626
+#: src/scm/webid-oidc/program.scm:377 src/scm/webid-oidc/program.scm:630
msgid "command-line|command|server"
msgstr "serveur"
-#: src/scm/webid-oidc/program.scm:409 src/scm/webid-oidc/program.scm:413
-#: src/scm/webid-oidc/program.scm:417 src/scm/webid-oidc/program.scm:421
+#: src/scm/webid-oidc/program.scm:413 src/scm/webid-oidc/program.scm:417
+#: src/scm/webid-oidc/program.scm:421 src/scm/webid-oidc/program.scm:425
#, scheme-format
msgid "an environment variable| It is currently set to ~s."
msgstr " Elle vaut actuellement ~s."
-#: src/scm/webid-oidc/program.scm:411 src/scm/webid-oidc/program.scm:415
-#: src/scm/webid-oidc/program.scm:419 src/scm/webid-oidc/program.scm:423
+#: src/scm/webid-oidc/program.scm:415 src/scm/webid-oidc/program.scm:419
+#: src/scm/webid-oidc/program.scm:423 src/scm/webid-oidc/program.scm:427
msgid "an environment variable| It is currently unset."
msgstr " Elle n’est actuellement pas définie."
-#: src/scm/webid-oidc/program.scm:464
+#: src/scm/webid-oidc/program.scm:468
#, scheme-format
msgid "The --~a argument must be a number, not ~s.\n"
msgstr "L’argument de --~a doit être un nombre, pas ~s.\n"
-#: src/scm/webid-oidc/program.scm:470
+#: src/scm/webid-oidc/program.scm:474
#, scheme-format
msgid "The --~a argument must be an integer, not ~s.\n"
msgstr "L’argument de --~a doit être un entier, pas ~s.\n"
-#: src/scm/webid-oidc/program.scm:476
+#: src/scm/webid-oidc/program.scm:480
#, scheme-format
msgid "The --~a argument must be positive, ~s is invalid.\n"
msgstr "L’argument de --~a doit être positif, ~s est invalide.\n"
-#: src/scm/webid-oidc/program.scm:481
+#: src/scm/webid-oidc/program.scm:485
#, scheme-format
msgid "The --~a argument must be less than 65536, ~s is invalid.\n"
msgstr "L’argument de --~a doit être inférieur à 65536, ~s est invalide.\n"
-#: src/scm/webid-oidc/program.scm:523
+#: src/scm/webid-oidc/program.scm:527
#, scheme-format
msgid ""
"Usage: ~a COMMAND [OPTIONS]...\n"
@@ -1689,18 +1702,18 @@ msgstr ""
"Utilisation : ~a COMMANDE [OPTIONS]...\n"
"Voir --~a (-h).\n"
-#: src/scm/webid-oidc/program.scm:534 src/scm/webid-oidc/program.scm:556
-#: src/scm/webid-oidc/program.scm:628
+#: src/scm/webid-oidc/program.scm:538 src/scm/webid-oidc/program.scm:560
+#: src/scm/webid-oidc/program.scm:632
#, scheme-format
msgid "You must pass --~a to set the server name.\n"
msgstr "Vous devez passer --~a pour définir le nom du serveur.\n"
-#: src/scm/webid-oidc/program.scm:538
+#: src/scm/webid-oidc/program.scm:542
#, scheme-format
msgid "You must pass --~a to set the backend URI.\n"
msgstr "Vous devez passer --~a pour définir l'URI du service d’arrière-plan.\n"
-#: src/scm/webid-oidc/program.scm:560 src/scm/webid-oidc/program.scm:632
+#: src/scm/webid-oidc/program.scm:564 src/scm/webid-oidc/program.scm:636
#, scheme-format
msgid ""
"You must pass --~a to set the file where to store the identity provider "
@@ -1709,59 +1722,59 @@ msgstr ""
"Vous devez passer --~a pour définir le nom du fichier pour sauvegarder\n"
"la clé du fournisseur d’identité.\n"
-#: src/scm/webid-oidc/program.scm:564 src/scm/webid-oidc/program.scm:636
+#: src/scm/webid-oidc/program.scm:568 src/scm/webid-oidc/program.scm:640
#, scheme-format
msgid "You must pass --~a to set the subject of the identity provider.\n"
msgstr ""
"Vous devez passer --~a pour définir le sujet du fournisseur d’identité.\n"
-#: src/scm/webid-oidc/program.scm:568 src/scm/webid-oidc/program.scm:640
+#: src/scm/webid-oidc/program.scm:572 src/scm/webid-oidc/program.scm:644
#, scheme-format
msgid "You must pass --~a to set the subject’s encrypted password.\n"
msgstr ""
"Vous devez passer --~a pour définir le mot de passe chiffré du sujet.\n"
-#: src/scm/webid-oidc/program.scm:572 src/scm/webid-oidc/program.scm:644
+#: src/scm/webid-oidc/program.scm:576 src/scm/webid-oidc/program.scm:648
#, scheme-format
msgid "You must pass --~a to set the JWKS URI.\n"
msgstr "Vous devez passer --~a pour définir l'URI du JWKS.\n"
-#: src/scm/webid-oidc/program.scm:576 src/scm/webid-oidc/program.scm:648
+#: src/scm/webid-oidc/program.scm:580 src/scm/webid-oidc/program.scm:652
#, scheme-format
msgid "You must pass --~a to set the authorization endpoint URI.\n"
msgstr ""
"Vous devez passer --~a pour définir l'URI du terminal d'autorisation.\n"
-#: src/scm/webid-oidc/program.scm:580 src/scm/webid-oidc/program.scm:652
+#: src/scm/webid-oidc/program.scm:584 src/scm/webid-oidc/program.scm:656
#, scheme-format
msgid "You must pass --~a to set the token endpoint URI.\n"
msgstr "Vous devez passer --~a pour définir l'URI du terminal de jeton.\n"
-#: src/scm/webid-oidc/program.scm:600
+#: src/scm/webid-oidc/program.scm:604
#, scheme-format
msgid "You must pass --~a to set the application web ID.\n"
msgstr ""
"Vous devez passer --~a pour définir l'identifiant web de l’application.\n"
-#: src/scm/webid-oidc/program.scm:604
+#: src/scm/webid-oidc/program.scm:608
#, scheme-format
msgid "You must pass --~a to set the redirection URI.\n"
msgstr "Vous devez passer --~a pour définir l'URI de redirection.\n"
-#: src/scm/webid-oidc/program.scm:608
+#: src/scm/webid-oidc/program.scm:612
#, scheme-format
msgid "You must pass --~a to set the informative client name.\n"
msgstr ""
"Vous devez passer --~a pour donner un nom pour l’application à titre "
"informatif.\n"
-#: src/scm/webid-oidc/program.scm:612
+#: src/scm/webid-oidc/program.scm:616
#, scheme-format
msgid "You must pass --~a to set the informative client URI.\n"
msgstr ""
"Vous devez passer --~a pour définir l'URI du client, à titre informatif.\n"
-#: src/scm/webid-oidc/program.scm:699
+#: src/scm/webid-oidc/program.scm:703
#, scheme-format
msgid "Unknown command ~s\n"
msgstr "Commande inconnue ~s\n"
diff --git a/po/webid-oidc.pot b/po/webid-oidc.pot
index e316168..447682b 100644
--- a/po/webid-oidc.pot
+++ b/po/webid-oidc.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: webid-oidc SNAPSHOT\n"
"Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n"
-"POT-Creation-Date: 2021-07-06 11:54+0200\n"
+"POT-Creation-Date: 2021-07-06 12:06+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -950,15 +950,15 @@ msgid "Warning: ~a\n"
msgstr ""
#: src/scm/webid-oidc/hello-world.scm:48 src/scm/webid-oidc/example-app.scm:116
-#: src/scm/webid-oidc/program.scm:159
+#: src/scm/webid-oidc/program.scm:163
msgid "command-line|version"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:50 src/scm/webid-oidc/program.scm:161
+#: src/scm/webid-oidc/hello-world.scm:50 src/scm/webid-oidc/program.scm:165
msgid "command-line|complete-corresponding-source"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:52 src/scm/webid-oidc/program.scm:163
+#: src/scm/webid-oidc/hello-world.scm:52 src/scm/webid-oidc/program.scm:167
msgid "command-line|help"
msgstr ""
@@ -966,11 +966,11 @@ msgstr ""
msgid "command-line|port"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:56 src/scm/webid-oidc/program.scm:193
+#: src/scm/webid-oidc/hello-world.scm:56 src/scm/webid-oidc/program.scm:197
msgid "command-line|log-file"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:58 src/scm/webid-oidc/program.scm:195
+#: src/scm/webid-oidc/hello-world.scm:58 src/scm/webid-oidc/program.scm:199
msgid "command-line|error-file"
msgstr ""
@@ -1004,12 +1004,12 @@ msgid ""
msgstr ""
#: src/scm/webid-oidc/hello-world.scm:103
-#: src/scm/webid-oidc/example-app.scm:159 src/scm/webid-oidc/program.scm:449
+#: src/scm/webid-oidc/example-app.scm:159 src/scm/webid-oidc/program.scm:453
#, scheme-format
msgid "~a version ~a\n"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:112 src/scm/webid-oidc/program.scm:457
+#: src/scm/webid-oidc/hello-world.scm:112 src/scm/webid-oidc/program.scm:461
msgid ""
"You are legally required to link to the complete corresponding source code.\n"
msgstr ""
@@ -1140,73 +1140,83 @@ msgid ""
"using C.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:123
+#: src/scm/webid-oidc/program.scm:124
#, scheme-format
-msgid "~a: ~a (~a): ~s ~a ~s ~a\n"
+msgid "~a: ~s ~a ~s ~a\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:132
+#: src/scm/webid-oidc/program.scm:126
#, scheme-format
-msgid "~a: ~a: ~s ~a ~s ~a\n"
+msgid "~a: ~a (~a)"
msgstr ""
-#: src/scm/webid-oidc/program.scm:165
+#: src/scm/webid-oidc/program.scm:130
+#, scheme-format
+msgid "~a: ~a"
+msgstr ""
+
+#: src/scm/webid-oidc/program.scm:140
+#, scheme-format
+msgid "(there was an error: ~a)"
+msgstr ""
+
+#: src/scm/webid-oidc/program.scm:169
msgid "command-line|server|port"
msgstr ""
-#: src/scm/webid-oidc/program.scm:167
+#: src/scm/webid-oidc/program.scm:171
msgid "command-line|server|server-name"
msgstr ""
-#: src/scm/webid-oidc/program.scm:169
+#: src/scm/webid-oidc/program.scm:173
msgid "command-line|server|reverse-proxy|backend-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:171
+#: src/scm/webid-oidc/program.scm:175
msgid "command-line|server|reverse-proxy|header"
msgstr ""
-#: src/scm/webid-oidc/program.scm:173
+#: src/scm/webid-oidc/program.scm:177
msgid "command-line|server|issuer|key-file"
msgstr ""
-#: src/scm/webid-oidc/program.scm:175
+#: src/scm/webid-oidc/program.scm:179
msgid "command-line|server|issuer|subject"
msgstr ""
-#: src/scm/webid-oidc/program.scm:177
+#: src/scm/webid-oidc/program.scm:181
msgid "command-line|server|issuer|encrypted-password"
msgstr ""
-#: src/scm/webid-oidc/program.scm:179
+#: src/scm/webid-oidc/program.scm:183
msgid "command-line|server|issuer|jwks-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:181
+#: src/scm/webid-oidc/program.scm:185
msgid "command-line|server|issuer|authorization-endpoint-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:183
+#: src/scm/webid-oidc/program.scm:187
msgid "command-line|server|issuer|token-endpoint-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:185
+#: src/scm/webid-oidc/program.scm:189
msgid "command-line|server|client-id"
msgstr ""
-#: src/scm/webid-oidc/program.scm:187
+#: src/scm/webid-oidc/program.scm:191
msgid "command-line|server|redirect-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:189
+#: src/scm/webid-oidc/program.scm:193
msgid "command-line|server|client-name"
msgstr ""
-#: src/scm/webid-oidc/program.scm:191
+#: src/scm/webid-oidc/program.scm:195
msgid "command-line|server|client-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:220
+#: src/scm/webid-oidc/program.scm:224
#, scheme-format
msgid ""
"Usage: ~a COMMAND [OPTIONS]...\n"
@@ -1361,127 +1371,127 @@ msgid ""
"If you find a bug, then please send a report to ~a.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:370 src/scm/webid-oidc/program.scm:428
-#: src/scm/webid-oidc/program.scm:531
+#: src/scm/webid-oidc/program.scm:374 src/scm/webid-oidc/program.scm:432
+#: src/scm/webid-oidc/program.scm:535
msgid "command-line|command|reverse-proxy"
msgstr ""
-#: src/scm/webid-oidc/program.scm:371 src/scm/webid-oidc/program.scm:435
-#: src/scm/webid-oidc/program.scm:553
+#: src/scm/webid-oidc/program.scm:375 src/scm/webid-oidc/program.scm:439
+#: src/scm/webid-oidc/program.scm:557
msgid "command-line|command|identity-provider"
msgstr ""
-#: src/scm/webid-oidc/program.scm:372 src/scm/webid-oidc/program.scm:442
-#: src/scm/webid-oidc/program.scm:597
+#: src/scm/webid-oidc/program.scm:376 src/scm/webid-oidc/program.scm:446
+#: src/scm/webid-oidc/program.scm:601
msgid "command-line|command|client-service"
msgstr ""
-#: src/scm/webid-oidc/program.scm:373 src/scm/webid-oidc/program.scm:626
+#: src/scm/webid-oidc/program.scm:377 src/scm/webid-oidc/program.scm:630
msgid "command-line|command|server"
msgstr ""
-#: src/scm/webid-oidc/program.scm:409 src/scm/webid-oidc/program.scm:413
-#: src/scm/webid-oidc/program.scm:417 src/scm/webid-oidc/program.scm:421
+#: src/scm/webid-oidc/program.scm:413 src/scm/webid-oidc/program.scm:417
+#: src/scm/webid-oidc/program.scm:421 src/scm/webid-oidc/program.scm:425
#, scheme-format
msgid "an environment variable| It is currently set to ~s."
msgstr ""
-#: src/scm/webid-oidc/program.scm:411 src/scm/webid-oidc/program.scm:415
-#: src/scm/webid-oidc/program.scm:419 src/scm/webid-oidc/program.scm:423
+#: src/scm/webid-oidc/program.scm:415 src/scm/webid-oidc/program.scm:419
+#: src/scm/webid-oidc/program.scm:423 src/scm/webid-oidc/program.scm:427
msgid "an environment variable| It is currently unset."
msgstr ""
-#: src/scm/webid-oidc/program.scm:464
+#: src/scm/webid-oidc/program.scm:468
#, scheme-format
msgid "The --~a argument must be a number, not ~s.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:470
+#: src/scm/webid-oidc/program.scm:474
#, scheme-format
msgid "The --~a argument must be an integer, not ~s.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:476
+#: src/scm/webid-oidc/program.scm:480
#, scheme-format
msgid "The --~a argument must be positive, ~s is invalid.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:481
+#: src/scm/webid-oidc/program.scm:485
#, scheme-format
msgid "The --~a argument must be less than 65536, ~s is invalid.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:523
+#: src/scm/webid-oidc/program.scm:527
#, scheme-format
msgid ""
"Usage: ~a COMMAND [OPTIONS]...\n"
"See --~a (-h).\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:534 src/scm/webid-oidc/program.scm:556
-#: src/scm/webid-oidc/program.scm:628
+#: src/scm/webid-oidc/program.scm:538 src/scm/webid-oidc/program.scm:560
+#: src/scm/webid-oidc/program.scm:632
#, scheme-format
msgid "You must pass --~a to set the server name.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:538
+#: src/scm/webid-oidc/program.scm:542
#, scheme-format
msgid "You must pass --~a to set the backend URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:560 src/scm/webid-oidc/program.scm:632
+#: src/scm/webid-oidc/program.scm:564 src/scm/webid-oidc/program.scm:636
#, scheme-format
msgid ""
"You must pass --~a to set the file where to store the identity provider "
"key.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:564 src/scm/webid-oidc/program.scm:636
+#: src/scm/webid-oidc/program.scm:568 src/scm/webid-oidc/program.scm:640
#, scheme-format
msgid "You must pass --~a to set the subject of the identity provider.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:568 src/scm/webid-oidc/program.scm:640
+#: src/scm/webid-oidc/program.scm:572 src/scm/webid-oidc/program.scm:644
#, scheme-format
msgid "You must pass --~a to set the subject’s encrypted password.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:572 src/scm/webid-oidc/program.scm:644
+#: src/scm/webid-oidc/program.scm:576 src/scm/webid-oidc/program.scm:648
#, scheme-format
msgid "You must pass --~a to set the JWKS URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:576 src/scm/webid-oidc/program.scm:648
+#: src/scm/webid-oidc/program.scm:580 src/scm/webid-oidc/program.scm:652
#, scheme-format
msgid "You must pass --~a to set the authorization endpoint URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:580 src/scm/webid-oidc/program.scm:652
+#: src/scm/webid-oidc/program.scm:584 src/scm/webid-oidc/program.scm:656
#, scheme-format
msgid "You must pass --~a to set the token endpoint URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:600
+#: src/scm/webid-oidc/program.scm:604
#, scheme-format
msgid "You must pass --~a to set the application web ID.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:604
+#: src/scm/webid-oidc/program.scm:608
#, scheme-format
msgid "You must pass --~a to set the redirection URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:608
+#: src/scm/webid-oidc/program.scm:612
#, scheme-format
msgid "You must pass --~a to set the informative client name.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:612
+#: src/scm/webid-oidc/program.scm:616
#, scheme-format
msgid "You must pass --~a to set the informative client URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:699
+#: src/scm/webid-oidc/program.scm:703
#, scheme-format
msgid "Unknown command ~s\n"
msgstr ""
diff --git a/src/scm/webid-oidc/program.scm b/src/scm/webid-oidc/program.scm
index 3ee86d8..be72f75 100644
--- a/src/scm/webid-oidc/program.scm
+++ b/src/scm/webid-oidc/program.scm
@@ -103,38 +103,42 @@
((record-accessor &unknown-client-locale 'c-locale) error)
(error->str error)))
(lambda ()
- (receive (response response-body user)
+ (receive (response response-body user cause)
(call-with-values
(lambda ()
(handler request request-body))
(case-lambda
((response response-body)
- (values response response-body #f))
+ (values response response-body #f #f))
((response response-body user)
- (values response response-body user))))
+ (values response response-body user #f))
+ ((response response-body user cause)
+ (values response response-body user cause))))
(let ((logging-port
(let ((response-code (response-code response)))
(if (>= response-code 400)
;; That’s an error
(current-error-port)
(current-output-port)))))
- (if user
- (format logging-port
- (G_ "~a: ~a (~a): ~s ~a ~s ~a\n")
- (date->string (time-utc->date (current-time)))
- (uri->string user)
- (request-ip-address request)
- (request-method request)
- (uri-path (request-uri request))
- (response-code response)
- (response-reason-phrase response))
- (format logging-port
- (G_ "~a: ~a: ~s ~a ~s ~a\n")
- (date->string (time-utc->date (current-time)))
- (request-ip-address request)
- (request-method request)
- (uri-path (request-uri request))
- (response-code response)
+ (format logging-port
+ (G_ "~a: ~s ~a ~s ~a\n")
+ (if user
+ (format #f (G_ "~a: ~a (~a)")
+ (date->string (time-utc->date (current-time)))
+ (uri->string user)
+ (request-ip-address request))
+ (format #f (G_ "~a: ~a")
+ (date->string (time-utc->date (current-time)))
+ (request-ip-address request)))
+ (request-method request)
+ (uri-path (request-uri request))
+ (response-code response)
+ (if cause
+ (string-append
+ (response-reason-phrase response)
+ " "
+ (format #f (G_ "(there was an error: ~a)")
+ (error->str cause)))
(response-reason-phrase response))))
(return
(build-response
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))))))))))
diff --git a/tests/client-token.scm b/tests/client-token.scm
index 934cf2c..9c55582 100644
--- a/tests/client-token.scm
+++ b/tests/client-token.scm
@@ -93,7 +93,9 @@
#:headers headers
#:port (open-input-string body)))
(request-body body))
- (token-endpoint request request-body)))
+ (receive (response response-body user error)
+ (token-endpoint request request-body)
+ (values response response-body))))
(let ((response
(token "https://issuer.client-token.scm"
client-key
diff --git a/tests/token-endpoint-issue.scm b/tests/token-endpoint-issue.scm
index d14a137..6f7d4dc 100644
--- a/tests/token-endpoint-issue.scm
+++ b/tests/token-endpoint-issue.scm
@@ -53,7 +53,7 @@
(string->uri "https://token-endpoint-issue.scm/token")
issuer alg key validity jti-list
#:current-time current-time))
- (receive (response response-body)
+ (receive (response response-body user error)
;; The code is fake!
(let ((dpop
(issue-dpop-proof
@@ -74,7 +74,7 @@
"grant_type=authorization_code&code=fake"))
(unless (eq? (response-code response) 400)
(exit 3))
- (receive (response response-body)
+ (receive (response response-body user error)
(let ((dpop
(issue-dpop-proof
client-key
diff --git a/tests/token-endpoint-refresh.scm b/tests/token-endpoint-refresh.scm
index cd584ab..2b5be1f 100644
--- a/tests/token-endpoint-refresh.scm
+++ b/tests/token-endpoint-refresh.scm
@@ -51,7 +51,7 @@
(string->uri "https://token-endpoint-issue.scm/token")
issuer alg key validity jti-list
#:current-time current-time))
- (receive (response response-body)
+ (receive (response response-body user error)
;; The refresh token is fake!
(let ((dpop
(issue-dpop-proof
@@ -72,7 +72,7 @@
"refresh_token=fake"))
(unless (eq? (response-code response) 400)
(exit 3))
- (receive (response response-body)
+ (receive (response response-body user error)
(let ((dpop
(issue-dpop-proof
client-key