summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2021-09-09 23:25:58 +0200
committerVivien Kraus <vivien@planete-kraus.eu>2021-09-13 20:30:18 +0200
commit6a83b79c4de5986ad61a552c2612b7cce0105cda (patch)
tree8704d7b7bf2af24fab416a45ca8567148a558d05
parent9b6c36923f3ac4a2bd8f2a70ca679bc7374aef56 (diff)
Client: use http-request instead of http-get and http-post
-rw-r--r--doc/disfluid.texi12
-rw-r--r--po/disfluid.pot266
-rw-r--r--po/fr.po266
-rw-r--r--src/scm/webid-oidc/client.scm47
-rw-r--r--src/scm/webid-oidc/client/accounts.scm51
-rw-r--r--src/scm/webid-oidc/program.scm1
6 files changed, 327 insertions, 316 deletions
diff --git a/doc/disfluid.texi b/doc/disfluid.texi
index c884acf..04e69af 100644
--- a/doc/disfluid.texi
+++ b/doc/disfluid.texi
@@ -932,7 +932,7 @@ webid and the webid issuer. If you don’t know the user, and the user
is eligible to your service, then you will only know the identity
provider (issuer), because that’s what the user typed in.
-@deffn function login @var{subject} @var{issuer} [#:@var{http-get}=@code{http-get}] [#:@var{http-post}=@code{http-post}] [#:@var{state}=@code{#f}] #:@var{client-id} #:@var{client-key} #:@var{redirect-uri}
+@deffn function login @var{subject} @var{issuer} [#:@var{http-request}=@code{http-request}] [#:@var{state}=@code{#f}] #:@var{client-id} #:@var{client-key} #:@var{redirect-uri}
Return a new account with an ID token and an access
token. @var{subject} is optional.
@@ -1029,15 +1029,17 @@ Constructor, predicate and accessors for the @code{<client>} record
type.
@end deffn
-@deffn function initial-login @var{client} @var{issuer} [#:@var{http-request}=@code{http-request}]
+@deffn function initial-login @var{client} @var{issuer} [#:@var{http-request}]
Create an account by logging in with just the @var{issuer}, and save
-the created account.
+the created account. The default @var{http-request} uses the cache for
+GET requests.
@end deffn
-@deffn function request @var{client} @var{subject} @var{issuer} [#:@var{http-request}=@code{http-request}]
+@deffn function request @var{client} @var{subject} @var{issuer} [#:@var{http-request}]
Log in with @var{subject} (optional, may be @code{#f}) and
@var{issuer}, and return a function that takes a request and request
-body and transfers it, signed, to the @var{http-request} back-end.
+body and transfers it, signed, to the @var{http-request} back-end. By
+default, it uses the cache for GET requests.
@end deffn
@deffn function serve-application @var{id} @var{redirect-uri} @var{[#client-name]} @var{[#client-uri]}
diff --git a/po/disfluid.pot b/po/disfluid.pot
index d18ddd6..700afde 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-09-13 20:17+0200\n"
+"POT-Creation-Date: 2021-09-13 20:29+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"
@@ -407,57 +407,57 @@ msgstr ""
msgid "Unsupported delegate catalog URI scheme: ~s\n"
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:406
+#: src/scm/webid-oidc/client/accounts.scm:410
msgid "The refresh token has expired."
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:413
+#: src/scm/webid-oidc/client/accounts.scm:417
#, scheme-format
msgid "The token request failed with code ~s (~s)."
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:422
+#: src/scm/webid-oidc/client/accounts.scm:426
msgid "The token response did not set the content type."
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:430
+#: src/scm/webid-oidc/client/accounts.scm:434
msgid "The token endpoint did not respond in UTF-8."
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:442
+#: src/scm/webid-oidc/client/accounts.scm:446
#, scheme-format
msgid "The token response has content-type ~s, not application/json."
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:452
+#: src/scm/webid-oidc/client/accounts.scm:456
msgid "The token response is not valid JSON."
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:465
+#: src/scm/webid-oidc/client/accounts.scm:469
#, scheme-format
msgid "The token response did not include an ID token: ~s"
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:473
+#: src/scm/webid-oidc/client/accounts.scm:477
#, scheme-format
msgid "The token response did not include an access token: ~s\n"
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:484
+#: src/scm/webid-oidc/client/accounts.scm:488
#, scheme-format
msgid "the ID token signature is invalid: ~a"
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:486
+#: src/scm/webid-oidc/client/accounts.scm:490
msgid "the ID token signature is invalid"
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:501
+#: src/scm/webid-oidc/client/accounts.scm:508
#, scheme-format
msgid "the ID token delivered by the identity provider for ~s has ~s as webid"
msgstr ""
-#: src/scm/webid-oidc/client/accounts.scm:510
+#: src/scm/webid-oidc/client/accounts.scm:517
#, scheme-format
msgid "The ID token delivered by the identity provider ~s is for issuer ~s."
msgstr ""
@@ -741,15 +741,15 @@ msgstr ""
msgid "<p>The client is compatible with Solid.</p>"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:64 src/scm/webid-oidc/program.scm:225
+#: src/scm/webid-oidc/hello-world.scm:64 src/scm/webid-oidc/program.scm:226
msgid "command-line|version"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:66 src/scm/webid-oidc/program.scm:229
+#: src/scm/webid-oidc/hello-world.scm:66 src/scm/webid-oidc/program.scm:230
msgid "command-line|complete-corresponding-source"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:68 src/scm/webid-oidc/program.scm:231
+#: src/scm/webid-oidc/hello-world.scm:68 src/scm/webid-oidc/program.scm:232
msgid "command-line|help"
msgstr ""
@@ -757,11 +757,11 @@ msgstr ""
msgid "command-line|port"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:72 src/scm/webid-oidc/program.scm:263
+#: src/scm/webid-oidc/hello-world.scm:72 src/scm/webid-oidc/program.scm:264
msgid "command-line|log-file"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:74 src/scm/webid-oidc/program.scm:265
+#: src/scm/webid-oidc/hello-world.scm:74 src/scm/webid-oidc/program.scm:266
msgid "command-line|error-file"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "~a version ~a\n"
msgstr ""
-#: src/scm/webid-oidc/hello-world.scm:128 src/scm/webid-oidc/program.scm:624
+#: src/scm/webid-oidc/hello-world.scm:128 src/scm/webid-oidc/program.scm:625
msgid ""
"You are legally required to link to the complete corresponding source code.\n"
msgstr ""
@@ -1131,139 +1131,139 @@ msgstr ""
msgid "cannot encode the ID token"
msgstr ""
-#: src/scm/webid-oidc/program.scm:56
+#: src/scm/webid-oidc/program.scm:57
#, scheme-format
msgid "~a: Warning: XML_CATALOG_FILES is set to ~s.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:59
+#: src/scm/webid-oidc/program.scm:60
#, scheme-format
msgid "~a: GET ~a ~s...\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:66
+#: src/scm/webid-oidc/program.scm:67
#, scheme-format
msgid "~a: Warning: loading XML catalog from the web, ~s.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:74
+#: src/scm/webid-oidc/program.scm:75
#, scheme-format
msgid "~a: GET ~a ~s: ~s ~a bytes\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:121
+#: src/scm/webid-oidc/program.scm:122
msgid "really bad internal server error"
msgstr ""
-#: src/scm/webid-oidc/program.scm:128
+#: src/scm/webid-oidc/program.scm:129
#, scheme-format
msgid "~a: ~a: Internal server error: ~a\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:134
+#: src/scm/webid-oidc/program.scm:135
msgid "Internal Server Error"
msgstr ""
-#: src/scm/webid-oidc/program.scm:137
+#: src/scm/webid-oidc/program.scm:138
msgid "Sorry, there was an error."
msgstr ""
-#: src/scm/webid-oidc/program.scm:158
+#: src/scm/webid-oidc/program.scm:159
#, scheme-format
msgid "~a: ~s ~a ~s ~a\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:160
+#: src/scm/webid-oidc/program.scm:161
#, scheme-format
msgid "~a: ~a (~a)"
msgstr ""
-#: src/scm/webid-oidc/program.scm:164
+#: src/scm/webid-oidc/program.scm:165
#, scheme-format
msgid "~a: ~a"
msgstr ""
-#: src/scm/webid-oidc/program.scm:174
+#: src/scm/webid-oidc/program.scm:175
#, scheme-format
msgid "(there was an error: ~a)"
msgstr ""
-#: src/scm/webid-oidc/program.scm:227
+#: src/scm/webid-oidc/program.scm:228
msgid "command-line|describe-project"
msgstr ""
-#: src/scm/webid-oidc/program.scm:233
+#: src/scm/webid-oidc/program.scm:234
msgid "command-line|server|port"
msgstr ""
-#: src/scm/webid-oidc/program.scm:235
+#: src/scm/webid-oidc/program.scm:236
msgid "command-line|server|server-name"
msgstr ""
-#: src/scm/webid-oidc/program.scm:237
+#: src/scm/webid-oidc/program.scm:238
msgid "command-line|server|reverse-proxy|backend-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:239
+#: src/scm/webid-oidc/program.scm:240
msgid "command-line|server|reverse-proxy|header"
msgstr ""
-#: src/scm/webid-oidc/program.scm:241
+#: src/scm/webid-oidc/program.scm:242
msgid "command-line|server|issuer|key-file"
msgstr ""
-#: src/scm/webid-oidc/program.scm:243
+#: src/scm/webid-oidc/program.scm:244
msgid "command-line|server|issuer|subject"
msgstr ""
-#: src/scm/webid-oidc/program.scm:245
+#: src/scm/webid-oidc/program.scm:246
msgid "command-line|server|issuer|encrypted-password"
msgstr ""
-#: src/scm/webid-oidc/program.scm:247
+#: src/scm/webid-oidc/program.scm:248
msgid "command-line|server|issuer|encrypted-password-from-file"
msgstr ""
-#: src/scm/webid-oidc/program.scm:249
+#: src/scm/webid-oidc/program.scm:250
msgid "command-line|server|issuer|jwks-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:251
+#: src/scm/webid-oidc/program.scm:252
msgid "command-line|server|issuer|authorization-endpoint-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:253
+#: src/scm/webid-oidc/program.scm:254
msgid "command-line|server|issuer|token-endpoint-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:255
+#: src/scm/webid-oidc/program.scm:256
msgid "command-line|server|client-id"
msgstr ""
-#: src/scm/webid-oidc/program.scm:257
+#: src/scm/webid-oidc/program.scm:258
msgid "command-line|server|redirect-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:259
+#: src/scm/webid-oidc/program.scm:260
msgid "command-line|server|client-name"
msgstr ""
-#: src/scm/webid-oidc/program.scm:261
+#: src/scm/webid-oidc/program.scm:262
msgid "command-line|server|client-uri"
msgstr ""
-#: src/scm/webid-oidc/program.scm:295
+#: src/scm/webid-oidc/program.scm:296
#, scheme-format
msgid "Usage: ~a COMMAND [OPTIONS]...\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:299
+#: src/scm/webid-oidc/program.scm:300
msgid ""
"\n"
"Run the disfluid COMMAND."
msgstr ""
-#: src/scm/webid-oidc/program.scm:302
+#: src/scm/webid-oidc/program.scm:303
msgid ""
"\n"
"This program is covered by the GNU Affero GPL, version 3 or\n"
@@ -1273,13 +1273,13 @@ msgid ""
"to all responses."
msgstr ""
-#: src/scm/webid-oidc/program.scm:309
+#: src/scm/webid-oidc/program.scm:310
msgid ""
"\n"
"Available commands:"
msgstr ""
-#: src/scm/webid-oidc/program.scm:311
+#: src/scm/webid-oidc/program.scm:312
#, scheme-format
msgid ""
"\n"
@@ -1287,12 +1287,12 @@ msgid ""
" run an authenticating reverse proxy."
msgstr ""
-#: src/scm/webid-oidc/program.scm:314 src/scm/webid-oidc/program.scm:506
-#: src/scm/webid-oidc/program.scm:707
+#: src/scm/webid-oidc/program.scm:315 src/scm/webid-oidc/program.scm:507
+#: src/scm/webid-oidc/program.scm:708
msgid "command-line|command|reverse-proxy"
msgstr ""
-#: src/scm/webid-oidc/program.scm:315
+#: src/scm/webid-oidc/program.scm:316
#, scheme-format
msgid ""
"\n"
@@ -1300,12 +1300,12 @@ msgid ""
" run an identity provider."
msgstr ""
-#: src/scm/webid-oidc/program.scm:318 src/scm/webid-oidc/program.scm:531
-#: src/scm/webid-oidc/program.scm:729
+#: src/scm/webid-oidc/program.scm:319 src/scm/webid-oidc/program.scm:532
+#: src/scm/webid-oidc/program.scm:730
msgid "command-line|command|identity-provider"
msgstr ""
-#: src/scm/webid-oidc/program.scm:319
+#: src/scm/webid-oidc/program.scm:320
#, scheme-format
msgid ""
"\n"
@@ -1313,12 +1313,12 @@ msgid ""
" serve the pages for a public application."
msgstr ""
-#: src/scm/webid-oidc/program.scm:322 src/scm/webid-oidc/program.scm:552
-#: src/scm/webid-oidc/program.scm:771
+#: src/scm/webid-oidc/program.scm:323 src/scm/webid-oidc/program.scm:553
+#: src/scm/webid-oidc/program.scm:772
msgid "command-line|command|client-service"
msgstr ""
-#: src/scm/webid-oidc/program.scm:323
+#: src/scm/webid-oidc/program.scm:324
#, scheme-format
msgid ""
"\n"
@@ -1327,18 +1327,18 @@ msgid ""
" facility."
msgstr ""
-#: src/scm/webid-oidc/program.scm:327 src/scm/webid-oidc/program.scm:578
-#: src/scm/webid-oidc/program.scm:800
+#: src/scm/webid-oidc/program.scm:328 src/scm/webid-oidc/program.scm:579
+#: src/scm/webid-oidc/program.scm:801
msgid "command-line|command|server"
msgstr ""
-#: src/scm/webid-oidc/program.scm:329
+#: src/scm/webid-oidc/program.scm:330
msgid ""
"\n"
"General options:"
msgstr ""
-#: src/scm/webid-oidc/program.scm:331
+#: src/scm/webid-oidc/program.scm:332
#, scheme-format
msgid ""
"\n"
@@ -1347,7 +1347,7 @@ msgid ""
" code. For instance, this would be an URI pointing to a tarball."
msgstr ""
-#: src/scm/webid-oidc/program.scm:336
+#: src/scm/webid-oidc/program.scm:337
#, scheme-format
msgid ""
"\n"
@@ -1355,7 +1355,7 @@ msgid ""
" display a short help message and exit."
msgstr ""
-#: src/scm/webid-oidc/program.scm:340
+#: src/scm/webid-oidc/program.scm:341
#, scheme-format
msgid ""
"\n"
@@ -1363,7 +1363,7 @@ msgid ""
" display the version information (~a, released ~a) and exit."
msgstr ""
-#: src/scm/webid-oidc/program.scm:346
+#: src/scm/webid-oidc/program.scm:347
#, scheme-format
msgid ""
"\n"
@@ -1371,7 +1371,7 @@ msgid ""
" describe the project in the DOAP vocabulary and exit."
msgstr ""
-#: src/scm/webid-oidc/program.scm:350
+#: src/scm/webid-oidc/program.scm:351
#, scheme-format
msgid ""
"\n"
@@ -1379,7 +1379,7 @@ msgid ""
" redirect the program standard output to FILE.log."
msgstr ""
-#: src/scm/webid-oidc/program.scm:354
+#: src/scm/webid-oidc/program.scm:355
#, scheme-format
msgid ""
"\n"
@@ -1387,13 +1387,13 @@ msgid ""
" redirect the program errors to FILE.err."
msgstr ""
-#: src/scm/webid-oidc/program.scm:359
+#: src/scm/webid-oidc/program.scm:360
msgid ""
"\n"
"General server-side options:"
msgstr ""
-#: src/scm/webid-oidc/program.scm:361
+#: src/scm/webid-oidc/program.scm:362
#, scheme-format
msgid ""
"\n"
@@ -1401,7 +1401,7 @@ msgid ""
" set the server port to bind, 8080 by default."
msgstr ""
-#: src/scm/webid-oidc/program.scm:365
+#: src/scm/webid-oidc/program.scm:366
#, scheme-format
msgid ""
"\n"
@@ -1409,13 +1409,13 @@ msgid ""
" set the public server URI (scheme, userinfo, host, and port)."
msgstr ""
-#: src/scm/webid-oidc/program.scm:370
+#: src/scm/webid-oidc/program.scm:371
msgid ""
"\n"
"Options for the resource server:"
msgstr ""
-#: src/scm/webid-oidc/program.scm:372
+#: src/scm/webid-oidc/program.scm:373
#, scheme-format
msgid ""
"\n"
@@ -1425,7 +1425,7 @@ msgid ""
" authentication."
msgstr ""
-#: src/scm/webid-oidc/program.scm:378
+#: src/scm/webid-oidc/program.scm:379
#, scheme-format
msgid ""
"\n"
@@ -1434,13 +1434,13 @@ msgid ""
" reverse-proxy command."
msgstr ""
-#: src/scm/webid-oidc/program.scm:384
+#: src/scm/webid-oidc/program.scm:385
msgid ""
"\n"
"Options for the identity provider:"
msgstr ""
-#: src/scm/webid-oidc/program.scm:386
+#: src/scm/webid-oidc/program.scm:387
#, scheme-format
msgid ""
"\n"
@@ -1449,7 +1449,7 @@ msgid ""
" key is generated. The server does not offer an HTTPS service."
msgstr ""
-#: src/scm/webid-oidc/program.scm:391
+#: src/scm/webid-oidc/program.scm:392
#, scheme-format
msgid ""
"\n"
@@ -1457,7 +1457,7 @@ msgid ""
" set the identity of the subject."
msgstr ""
-#: src/scm/webid-oidc/program.scm:395
+#: src/scm/webid-oidc/program.scm:396
#, scheme-format
msgid ""
"\n"
@@ -1465,7 +1465,7 @@ msgid ""
" set the encrypted password to recognize the user."
msgstr ""
-#: src/scm/webid-oidc/program.scm:399
+#: src/scm/webid-oidc/program.scm:400
#, scheme-format
msgid ""
"\n"
@@ -1473,7 +1473,7 @@ msgid ""
" load the user’s encrypted password from ENCRYPTED_PASSWORD_FILE."
msgstr ""
-#: src/scm/webid-oidc/program.scm:403
+#: src/scm/webid-oidc/program.scm:404
#, scheme-format
msgid ""
"\n"
@@ -1481,7 +1481,7 @@ msgid ""
" set the URI to query the key of the server."
msgstr ""
-#: src/scm/webid-oidc/program.scm:407
+#: src/scm/webid-oidc/program.scm:408
#, scheme-format
msgid ""
"\n"
@@ -1489,7 +1489,7 @@ msgid ""
" set the authorization endpoint of the issuer."
msgstr ""
-#: src/scm/webid-oidc/program.scm:411
+#: src/scm/webid-oidc/program.scm:412
#, scheme-format
msgid ""
"\n"
@@ -1497,13 +1497,13 @@ msgid ""
" set the token endpoint of the issuer."
msgstr ""
-#: src/scm/webid-oidc/program.scm:416
+#: src/scm/webid-oidc/program.scm:417
msgid ""
"\n"
"Options for the client service:"
msgstr ""
-#: src/scm/webid-oidc/program.scm:418
+#: src/scm/webid-oidc/program.scm:419
#, scheme-format
msgid ""
"\n"
@@ -1512,7 +1512,7 @@ msgid ""
" dereferenced to a semantic resource."
msgstr ""
-#: src/scm/webid-oidc/program.scm:423
+#: src/scm/webid-oidc/program.scm:424
#, scheme-format
msgid ""
"\n"
@@ -1521,7 +1521,7 @@ msgid ""
" page is presented with the code to paste in the application."
msgstr ""
-#: src/scm/webid-oidc/program.scm:428
+#: src/scm/webid-oidc/program.scm:429
#, scheme-format
msgid ""
"\n"
@@ -1529,7 +1529,7 @@ msgid ""
" set the user-visible application name (may be misleading...)."
msgstr ""
-#: src/scm/webid-oidc/program.scm:432
+#: src/scm/webid-oidc/program.scm:433
#, scheme-format
msgid ""
"\n"
@@ -1538,13 +1538,13 @@ msgid ""
" application (again, may be misleading)."
msgstr ""
-#: src/scm/webid-oidc/program.scm:438
+#: src/scm/webid-oidc/program.scm:439
msgid ""
"\n"
"Environment variables:"
msgstr ""
-#: src/scm/webid-oidc/program.scm:440
+#: src/scm/webid-oidc/program.scm:441
msgid ""
"\n"
" XML_CATALOG_FILES: the server will fetch resources on the web. By\n"
@@ -1555,23 +1555,23 @@ msgid ""
" content-type."
msgstr ""
-#: src/scm/webid-oidc/program.scm:448 src/scm/webid-oidc/program.scm:455
-#: src/scm/webid-oidc/program.scm:464 src/scm/webid-oidc/program.scm:472
-#: src/scm/webid-oidc/program.scm:480
+#: src/scm/webid-oidc/program.scm:449 src/scm/webid-oidc/program.scm:456
+#: src/scm/webid-oidc/program.scm:465 src/scm/webid-oidc/program.scm:473
+#: src/scm/webid-oidc/program.scm:481
#, scheme-format
msgid ""
"the-environment-variable|\n"
" It is currently set to ~s."
msgstr ""
-#: src/scm/webid-oidc/program.scm:451
+#: src/scm/webid-oidc/program.scm:452
msgid ""
"\n"
" LANG: set the locale of the user interface (for the server commands,\n"
" the user is the system administrator)."
msgstr ""
-#: src/scm/webid-oidc/program.scm:458
+#: src/scm/webid-oidc/program.scm:459
msgid ""
"\n"
" XDG_DATA_HOME: where the program stores persistent data. The\n"
@@ -1580,7 +1580,7 @@ msgid ""
" recommended to set it to /var/lib."
msgstr ""
-#: src/scm/webid-oidc/program.scm:467
+#: src/scm/webid-oidc/program.scm:468
msgid ""
"\n"
" XDG_CACHE_HOME: where the program stores and updates the seed file,\n"
@@ -1588,7 +1588,7 @@ msgid ""
" time. The seed file will be initialized from /dev/random."
msgstr ""
-#: src/scm/webid-oidc/program.scm:475
+#: src/scm/webid-oidc/program.scm:476
msgid ""
"\n"
" HOME: if XDG_DATA_HOME or XDG_CACHE_HOME is not set, they are\n"
@@ -1596,13 +1596,13 @@ msgid ""
" not used otherwise."
msgstr ""
-#: src/scm/webid-oidc/program.scm:484
+#: src/scm/webid-oidc/program.scm:485
msgid ""
"\n"
"Running a reverse proxy"
msgstr ""
-#: src/scm/webid-oidc/program.scm:486
+#: src/scm/webid-oidc/program.scm:487
msgid ""
"\n"
"Suppose that you operate data.provider.com. You want to run an\n"
@@ -1615,7 +1615,7 @@ msgid ""
"from this reverse proxy."
msgstr ""
-#: src/scm/webid-oidc/program.scm:496
+#: src/scm/webid-oidc/program.scm:497
#, scheme-format
msgid ""
"\n"
@@ -1629,20 +1629,20 @@ msgid ""
" --~a '/var/log/proxy.err'"
msgstr ""
-#: src/scm/webid-oidc/program.scm:511
+#: src/scm/webid-oidc/program.scm:512
msgid ""
"\n"
"Running an identity provider"
msgstr ""
-#: src/scm/webid-oidc/program.scm:513
+#: src/scm/webid-oidc/program.scm:514
msgid ""
"\n"
"The identity provider running at webid-oidc-demo.planete-kraus.eu is\n"
"invoked with the following options:"
msgstr ""
-#: src/scm/webid-oidc/program.scm:517
+#: src/scm/webid-oidc/program.scm:518
#, scheme-format
msgid ""
"\n"
@@ -1661,20 +1661,20 @@ msgid ""
" --~a $PORT"
msgstr ""
-#: src/scm/webid-oidc/program.scm:537
+#: src/scm/webid-oidc/program.scm:538
msgid ""
"\n"
"Running the public pages for an application"
msgstr ""
-#: src/scm/webid-oidc/program.scm:539
+#: src/scm/webid-oidc/program.scm:540
msgid ""
"\n"
"The example client application pages for\n"
"webid-oidc-demo.planete-kraus.eu are served this way:"
msgstr ""
-#: src/scm/webid-oidc/program.scm:543
+#: src/scm/webid-oidc/program.scm:544
#, scheme-format
msgid ""
"\n"
@@ -1690,13 +1690,13 @@ msgid ""
" --~a $PORT"
msgstr ""
-#: src/scm/webid-oidc/program.scm:557
+#: src/scm/webid-oidc/program.scm:558
msgid ""
"\n"
"Running a full server"
msgstr ""
-#: src/scm/webid-oidc/program.scm:560
+#: src/scm/webid-oidc/program.scm:561
msgid ""
"\n"
"To run the server with identity provider and\n"
@@ -1704,7 +1704,7 @@ msgid ""
"options for the parts."
msgstr ""
-#: src/scm/webid-oidc/program.scm:564
+#: src/scm/webid-oidc/program.scm:565
#, scheme-format
msgid ""
"\n"
@@ -1723,14 +1723,14 @@ msgid ""
" --~a '...port...'"
msgstr ""
-#: src/scm/webid-oidc/program.scm:589
+#: src/scm/webid-oidc/program.scm:590
#, scheme-format
msgid ""
"\n"
"If you find a bug, then please send a report to ~a."
msgstr ""
-#: src/scm/webid-oidc/program.scm:594
+#: src/scm/webid-oidc/program.scm:595
#, scheme-format
msgid ""
"~a version ~a\n"
@@ -1738,108 +1738,108 @@ msgid ""
"Rreleased ~a\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:631
+#: src/scm/webid-oidc/program.scm:632
#, scheme-format
msgid "The --~a argument must be a number, not ~s.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:637
+#: src/scm/webid-oidc/program.scm:638
#, scheme-format
msgid "The --~a argument must be an integer, not ~s.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:643
+#: src/scm/webid-oidc/program.scm:644
#, scheme-format
msgid "The --~a argument must be positive, ~s is invalid.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:648
+#: src/scm/webid-oidc/program.scm:649
#, scheme-format
msgid "The --~a argument must be less than 65536, ~s is invalid.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:676
+#: src/scm/webid-oidc/program.scm:677
msgid ""
"You specified two different passwords: one directly, and one from a file. "
"Please set only one password.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:700
+#: src/scm/webid-oidc/program.scm:701
#, scheme-format
msgid ""
"Usage: ~a COMMAND [OPTIONS]...\n"
"See --~a (-h).\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:710 src/scm/webid-oidc/program.scm:732
-#: src/scm/webid-oidc/program.scm:802
+#: src/scm/webid-oidc/program.scm:711 src/scm/webid-oidc/program.scm:733
+#: src/scm/webid-oidc/program.scm:803
#, scheme-format
msgid "You must pass --~a to set the server name.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:714
+#: src/scm/webid-oidc/program.scm:715
#, scheme-format
msgid "You must pass --~a to set the backend URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:736 src/scm/webid-oidc/program.scm:806
+#: src/scm/webid-oidc/program.scm:737 src/scm/webid-oidc/program.scm:807
#, 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:740 src/scm/webid-oidc/program.scm:810
+#: src/scm/webid-oidc/program.scm:741 src/scm/webid-oidc/program.scm:811
#, scheme-format
msgid "You must pass --~a to set the subject of the identity provider.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:744
+#: src/scm/webid-oidc/program.scm:745
#, scheme-format
msgid "You must pass --~a or --~a to set the subject’s encrypted password.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:748 src/scm/webid-oidc/program.scm:818
+#: src/scm/webid-oidc/program.scm:749 src/scm/webid-oidc/program.scm:819
#, scheme-format
msgid "You must pass --~a to set the JWKS URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:752 src/scm/webid-oidc/program.scm:822
+#: src/scm/webid-oidc/program.scm:753 src/scm/webid-oidc/program.scm:823
#, scheme-format
msgid "You must pass --~a to set the authorization endpoint URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:756 src/scm/webid-oidc/program.scm:826
+#: src/scm/webid-oidc/program.scm:757 src/scm/webid-oidc/program.scm:827
#, scheme-format
msgid "You must pass --~a to set the token endpoint URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:774
+#: src/scm/webid-oidc/program.scm:775
#, scheme-format
msgid "You must pass --~a to set the application web ID.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:778
+#: src/scm/webid-oidc/program.scm:779
#, scheme-format
msgid "You must pass --~a to set the redirection URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:782
+#: src/scm/webid-oidc/program.scm:783
#, scheme-format
msgid "You must pass --~a to set the informative client name.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:786
+#: src/scm/webid-oidc/program.scm:787
#, scheme-format
msgid "You must pass --~a to set the informative client URI.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:814
+#: src/scm/webid-oidc/program.scm:815
#, scheme-format
msgid "You must pass --~a to set the subject’s encrypted password.\n"
msgstr ""
-#: src/scm/webid-oidc/program.scm:869
+#: src/scm/webid-oidc/program.scm:870
#, scheme-format
msgid "Unknown command ~s\n"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 3a1a77f..eb3bd1e 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-09-13 20:17+0200\n"
+"POT-Creation-Date: 2021-09-13 20:29+0200\n"
"PO-Revision-Date: 2021-09-13 19:59+0200\n"
"Last-Translator: Vivien Kraus <vivien@planete-kraus.eu>\n"
"Language-Team: French <vivien@planete-kraus.eu>\n"
@@ -421,58 +421,58 @@ msgstr "URI relative invalide"
msgid "Unsupported delegate catalog URI scheme: ~s\n"
msgstr "Schéma d’URI pour un catalogue délégé non supporté : ~s\n"
-#: src/scm/webid-oidc/client/accounts.scm:406
+#: src/scm/webid-oidc/client/accounts.scm:410
msgid "The refresh token has expired."
msgstr "le jeton de rafraîchissement a expiré."
-#: src/scm/webid-oidc/client/accounts.scm:413
+#: src/scm/webid-oidc/client/accounts.scm:417
#, scheme-format
msgid "The token request failed with code ~s (~s)."
msgstr "La requête de jeton a échoué avec un code ~s (~s)."
-#: src/scm/webid-oidc/client/accounts.scm:422
+#: src/scm/webid-oidc/client/accounts.scm:426
msgid "The token response did not set the content type."
msgstr "Le jeton de réponse n’a pas défini de type de contenu."
-#: src/scm/webid-oidc/client/accounts.scm:430
+#: src/scm/webid-oidc/client/accounts.scm:434
msgid "The token endpoint did not respond in UTF-8."
msgstr "Le terminal de jetonn n’a pas répondu en UTF-8."
-#: src/scm/webid-oidc/client/accounts.scm:442
+#: src/scm/webid-oidc/client/accounts.scm:446
#, scheme-format
msgid "The token response has content-type ~s, not application/json."
msgstr "La réponse de jeton a un type de contenu ~s, pas application/json."
-#: src/scm/webid-oidc/client/accounts.scm:452
+#: src/scm/webid-oidc/client/accounts.scm:456
msgid "The token response is not valid JSON."
msgstr "La réponse de jeton n’est pas un JSON valide."
-#: src/scm/webid-oidc/client/accounts.scm:465
+#: src/scm/webid-oidc/client/accounts.scm:469
#, scheme-format
msgid "The token response did not include an ID token: ~s"
msgstr "La réponse de jeton n’a pas inclus de jeton d’ID : ~s"
-#: src/scm/webid-oidc/client/accounts.scm:473
+#: src/scm/webid-oidc/client/accounts.scm:477
#, scheme-format
msgid "The token response did not include an access token: ~s\n"
msgstr "La réponse de jeton n’a pas inclus de jeton d’accès : ~s\n"
-#: src/scm/webid-oidc/client/accounts.scm:484
+#: src/scm/webid-oidc/client/accounts.scm:488
#, scheme-format
msgid "the ID token signature is invalid: ~a"
msgstr "la signature du jeton d’ID est invalide : ~a"
-#: src/scm/webid-oidc/client/accounts.scm:486
+#: src/scm/webid-oidc/client/accounts.scm:490
msgid "the ID token signature is invalid"
msgstr "la signature du jeton d’ID est invalide"
-#: src/scm/webid-oidc/client/accounts.scm:501
+#: src/scm/webid-oidc/client/accounts.scm:508
#, scheme-format
msgid "the ID token delivered by the identity provider for ~s has ~s as webid"
msgstr ""
"le jeton d’ID délivré par le fournisseur d’identité pour ~s a ~s pour webid"
-#: src/scm/webid-oidc/client/accounts.scm:510
+#: src/scm/webid-oidc/client/accounts.scm:517
#, scheme-format
msgid "The ID token delivered by the identity provider ~s is for issuer ~s."
msgstr ""
@@ -776,15 +776,15 @@ msgstr "<h1>Bonjour, ~a !</h1>"
msgid "<p>The client is compatible with Solid.</p>"
msgstr "<p>Le client est compatible avec Solid.</p>"
-#: src/scm/webid-oidc/hello-world.scm:64 src/scm/webid-oidc/program.scm:225
+#: src/scm/webid-oidc/hello-world.scm:64 src/scm/webid-oidc/program.scm:226
msgid "command-line|version"
msgstr "version"
-#: src/scm/webid-oidc/hello-world.scm:66 src/scm/webid-oidc/program.scm:229
+#: src/scm/webid-oidc/hello-world.scm:66 src/scm/webid-oidc/program.scm:230
msgid "command-line|complete-corresponding-source"
msgstr "code-source-correspondant-complet"
-#: src/scm/webid-oidc/hello-world.scm:68 src/scm/webid-oidc/program.scm:231
+#: src/scm/webid-oidc/hello-world.scm:68 src/scm/webid-oidc/program.scm:232
msgid "command-line|help"
msgstr "aide"
@@ -792,11 +792,11 @@ msgstr "aide"
msgid "command-line|port"
msgstr "port"
-#: src/scm/webid-oidc/hello-world.scm:72 src/scm/webid-oidc/program.scm:263
+#: src/scm/webid-oidc/hello-world.scm:72 src/scm/webid-oidc/program.scm:264
msgid "command-line|log-file"
msgstr "fichier-journal"
-#: src/scm/webid-oidc/hello-world.scm:74 src/scm/webid-oidc/program.scm:265
+#: src/scm/webid-oidc/hello-world.scm:74 src/scm/webid-oidc/program.scm:266
msgid "command-line|error-file"
msgstr "fichier-erreur"
@@ -859,7 +859,7 @@ msgstr ""
msgid "~a version ~a\n"
msgstr "~a version ~a\n"
-#: src/scm/webid-oidc/hello-world.scm:128 src/scm/webid-oidc/program.scm:624
+#: src/scm/webid-oidc/hello-world.scm:128 src/scm/webid-oidc/program.scm:625
msgid ""
"You are legally required to link to the complete corresponding source code.\n"
msgstr ""
@@ -1200,133 +1200,133 @@ msgstr "impossible d’encoder le jeton d’ID : ~a"
msgid "cannot encode the ID token"
msgstr "impossible d’encoder le jeton d’ID"
-#: src/scm/webid-oidc/program.scm:56
+#: src/scm/webid-oidc/program.scm:57
#, scheme-format
msgid "~a: Warning: XML_CATALOG_FILES is set to ~s.\n"
msgstr "~a : Attention : XML_CATALOG_FILES vaut ~s.\n"
-#: src/scm/webid-oidc/program.scm:59
+#: src/scm/webid-oidc/program.scm:60
#, scheme-format
msgid "~a: GET ~a ~s...\n"
msgstr "~a : GET ~a ~s…\n"
-#: src/scm/webid-oidc/program.scm:66
+#: src/scm/webid-oidc/program.scm:67
#, scheme-format
msgid "~a: Warning: loading XML catalog from the web, ~s.\n"
msgstr "~a : Attention : chargement d’un catalogue XML depuis le web, ~s.\n"
-#: src/scm/webid-oidc/program.scm:74
+#: src/scm/webid-oidc/program.scm:75
#, scheme-format
msgid "~a: GET ~a ~s: ~s ~a bytes\n"
msgstr "~a : GET ~a ~s : ~s ~a octets\n"
-#: src/scm/webid-oidc/program.scm:121
+#: src/scm/webid-oidc/program.scm:122
msgid "really bad internal server error"
msgstr "erreur interne du serveur vraiment grave"
-#: src/scm/webid-oidc/program.scm:128
+#: src/scm/webid-oidc/program.scm:129
#, scheme-format
msgid "~a: ~a: Internal server error: ~a\n"
msgstr "~a : ~a : Erreur interne du serveur : ~a\n"
-#: src/scm/webid-oidc/program.scm:134
+#: src/scm/webid-oidc/program.scm:135
msgid "Internal Server Error"
msgstr "Erreur Interne du Serveur"
-#: src/scm/webid-oidc/program.scm:137
+#: src/scm/webid-oidc/program.scm:138
msgid "Sorry, there was an error."
msgstr "Toutes nos excuses, il y a eu une erreurr."
-#: src/scm/webid-oidc/program.scm:158
+#: src/scm/webid-oidc/program.scm:159
#, scheme-format
msgid "~a: ~s ~a ~s ~a\n"
msgstr "~a : ~s ~a ~s ~a\n"
-#: src/scm/webid-oidc/program.scm:160
+#: src/scm/webid-oidc/program.scm:161
#, scheme-format
msgid "~a: ~a (~a)"
msgstr "~a : ~a (~a)"
-#: src/scm/webid-oidc/program.scm:164
+#: src/scm/webid-oidc/program.scm:165
#, scheme-format
msgid "~a: ~a"
msgstr "~a : ~a"
-#: src/scm/webid-oidc/program.scm:174
+#: src/scm/webid-oidc/program.scm:175
#, scheme-format
msgid "(there was an error: ~a)"
msgstr "(il y a eu une erreur : ~a)"
-#: src/scm/webid-oidc/program.scm:227
+#: src/scm/webid-oidc/program.scm:228
msgid "command-line|describe-project"
msgstr "décrire-projet"
-#: src/scm/webid-oidc/program.scm:233
+#: src/scm/webid-oidc/program.scm:234
msgid "command-line|server|port"
msgstr "port"
-#: src/scm/webid-oidc/program.scm:235
+#: src/scm/webid-oidc/program.scm:236
msgid "command-line|server|server-name"
msgstr "nom-du-serveur"
-#: src/scm/webid-oidc/program.scm:237
+#: src/scm/webid-oidc/program.scm:238
msgid "command-line|server|reverse-proxy|backend-uri"
msgstr "uri-arrière-plan"
-#: src/scm/webid-oidc/program.scm:239
+#: src/scm/webid-oidc/program.scm:240
msgid "command-line|server|reverse-proxy|header"
msgstr "en-tête"
-#: src/scm/webid-oidc/program.scm:241
+#: src/scm/webid-oidc/program.scm:242
msgid "command-line|server|issuer|key-file"
msgstr "fichier-clé"
-#: src/scm/webid-oidc/program.scm:243
+#: src/scm/webid-oidc/program.scm:244
msgid "command-line|server|issuer|subject"
msgstr "sujet"
-#: src/scm/webid-oidc/program.scm:245
+#: src/scm/webid-oidc/program.scm:246
msgid "command-line|server|issuer|encrypted-password"
msgstr "mot-de-passe-chiffré"
-#: src/scm/webid-oidc/program.scm:247
+#: src/scm/webid-oidc/program.scm:248
msgid "command-line|server|issuer|encrypted-password-from-file"
msgstr "fichier-de-mot-de-passe-chiffré"
-#: src/scm/webid-oidc/program.scm:249
+#: src/scm/webid-oidc/program.scm:250
msgid "command-line|server|issuer|jwks-uri"
msgstr "uri-jwks"
-#: src/scm/webid-oidc/program.scm:251
+#: src/scm/webid-oidc/program.scm:252
msgid "command-line|server|issuer|authorization-endpoint-uri"
msgstr "uri-terminal-autorisation"
-#: src/scm/webid-oidc/program.scm:253
+#: src/scm/webid-oidc/program.scm:254
msgid "command-line|server|issuer|token-endpoint-uri"
msgstr "uri-terminal-jeton"
-#: src/scm/webid-oidc/program.scm:255
+#: src/scm/webid-oidc/program.scm:256
msgid "command-line|server|client-id"
msgstr "id-client"
-#: src/scm/webid-oidc/program.scm:257
+#: src/scm/webid-oidc/program.scm:258
msgid "command-line|server|redirect-uri"
msgstr "uri-redirection"
-#: src/scm/webid-oidc/program.scm:259
+#: src/scm/webid-oidc/program.scm:260
msgid "command-line|server|client-name"
msgstr "nom-client"
-#: src/scm/webid-oidc/program.scm:261
+#: src/scm/webid-oidc/program.scm:262
msgid "command-line|server|client-uri"
msgstr "uri-client"
-#: src/scm/webid-oidc/program.scm:295
+#: src/scm/webid-oidc/program.scm:296
#, scheme-format
msgid "Usage: ~a COMMAND [OPTIONS]...\n"
msgstr "Utilisation : ~a COMMANDE [OPTIONS]...\n"
-#: src/scm/webid-oidc/program.scm:299
+#: src/scm/webid-oidc/program.scm:300
msgid ""
"\n"
"Run the disfluid COMMAND."
@@ -1334,7 +1334,7 @@ msgstr ""
"\n"
"Exécute la COMMANDE disfluid."
-#: src/scm/webid-oidc/program.scm:302
+#: src/scm/webid-oidc/program.scm:303
msgid ""
"\n"
"This program is covered by the GNU Affero GPL, version 3 or\n"
@@ -1350,7 +1350,7 @@ msgstr ""
"code source complet correspondant (avec vos modifications) sans\n"
"frais. Le serveur ajoute un en-tête « Source: » à toutes les réponses."
-#: src/scm/webid-oidc/program.scm:309
+#: src/scm/webid-oidc/program.scm:310
msgid ""
"\n"
"Available commands:"
@@ -1358,7 +1358,7 @@ msgstr ""
"\n"
"Commandes disponibles :"
-#: src/scm/webid-oidc/program.scm:311
+#: src/scm/webid-oidc/program.scm:312
#, scheme-format
msgid ""
"\n"
@@ -1369,12 +1369,12 @@ msgstr ""
" ~a :\n"
" exécute le proxy inverse authentifiant."
-#: src/scm/webid-oidc/program.scm:314 src/scm/webid-oidc/program.scm:506
-#: src/scm/webid-oidc/program.scm:707
+#: src/scm/webid-oidc/program.scm:315 src/scm/webid-oidc/program.scm:507
+#: src/scm/webid-oidc/program.scm:708
msgid "command-line|command|reverse-proxy"
msgstr "proxy-inversé"
-#: src/scm/webid-oidc/program.scm:315
+#: src/scm/webid-oidc/program.scm:316
#, scheme-format
msgid ""
"\n"
@@ -1385,12 +1385,12 @@ msgstr ""
" ~a :\n"
" exécute un fournisseur d’identité."
-#: src/scm/webid-oidc/program.scm:318 src/scm/webid-oidc/program.scm:531
-#: src/scm/webid-oidc/program.scm:729
+#: src/scm/webid-oidc/program.scm:319 src/scm/webid-oidc/program.scm:532
+#: src/scm/webid-oidc/program.scm:730
msgid "command-line|command|identity-provider"
msgstr "fournisseur-identité"
-#: src/scm/webid-oidc/program.scm:319
+#: src/scm/webid-oidc/program.scm:320
#, scheme-format
msgid ""
"\n"
@@ -1401,12 +1401,12 @@ msgstr ""
" ~a :\n"
" sert les pages d’une application publique."
-#: src/scm/webid-oidc/program.scm:322 src/scm/webid-oidc/program.scm:552
-#: src/scm/webid-oidc/program.scm:771
+#: src/scm/webid-oidc/program.scm:323 src/scm/webid-oidc/program.scm:553
+#: src/scm/webid-oidc/program.scm:772
msgid "command-line|command|client-service"
msgstr "service-client"
-#: src/scm/webid-oidc/program.scm:323
+#: src/scm/webid-oidc/program.scm:324
#, scheme-format
msgid ""
"\n"
@@ -1419,12 +1419,12 @@ msgstr ""
" exécute un serveur complet, avec un fournisseur d’identité et\n"
" une fonction de stockage de ressources."
-#: src/scm/webid-oidc/program.scm:327 src/scm/webid-oidc/program.scm:578
-#: src/scm/webid-oidc/program.scm:800
+#: src/scm/webid-oidc/program.scm:328 src/scm/webid-oidc/program.scm:579
+#: src/scm/webid-oidc/program.scm:801
msgid "command-line|command|server"
msgstr "serveur"
-#: src/scm/webid-oidc/program.scm:329
+#: src/scm/webid-oidc/program.scm:330
msgid ""
"\n"
"General options:"
@@ -1432,7 +1432,7 @@ msgstr ""
"\n"
"Options générales :"
-#: src/scm/webid-oidc/program.scm:331
+#: src/scm/webid-oidc/program.scm:332
#, scheme-format
msgid ""
"\n"
@@ -1446,7 +1446,7 @@ msgstr ""
" correspondant. Par exemple, MOYEN serait une URI pointant vers\n"
" l’archive de code."
-#: src/scm/webid-oidc/program.scm:336
+#: src/scm/webid-oidc/program.scm:337
#, scheme-format
msgid ""
"\n"
@@ -1457,7 +1457,7 @@ msgstr ""
" -h, --~a :\n"
" affiche un court message d’aide et quitte."
-#: src/scm/webid-oidc/program.scm:340
+#: src/scm/webid-oidc/program.scm:341
#, scheme-format
msgid ""
"\n"
@@ -1468,7 +1468,7 @@ msgstr ""
" -v, --~a :\n"
" affiche le numéro de version (~a, publiée le ~a) et quitte."
-#: src/scm/webid-oidc/program.scm:346
+#: src/scm/webid-oidc/program.scm:347
#, scheme-format
msgid ""
"\n"
@@ -1479,7 +1479,7 @@ msgstr ""
" --~a :\n"
" décrit le projet dans le vocabulaire DOAP et quitte."
-#: src/scm/webid-oidc/program.scm:350
+#: src/scm/webid-oidc/program.scm:351
#, scheme-format
msgid ""
"\n"
@@ -1490,7 +1490,7 @@ msgstr ""
" -l FICHIER.journal, --~a=FICHIER.journal :\n"
" redirige la sortie standard du programme vers FICHIER.journal."
-#: src/scm/webid-oidc/program.scm:354
+#: src/scm/webid-oidc/program.scm:355
#, scheme-format
msgid ""
"\n"
@@ -1501,7 +1501,7 @@ msgstr ""
" -e FICHIER.erreurs, --~a=FICHIER.erreurs :\n"
" redirige les erreurs du programme vers FICHIER.erreurs."
-#: src/scm/webid-oidc/program.scm:359
+#: src/scm/webid-oidc/program.scm:360
msgid ""
"\n"
"General server-side options:"
@@ -1509,7 +1509,7 @@ msgstr ""
"\n"
"Options générales pour un serveur :"
-#: src/scm/webid-oidc/program.scm:361
+#: src/scm/webid-oidc/program.scm:362
#, scheme-format
msgid ""
"\n"
@@ -1520,7 +1520,7 @@ msgstr ""
" -p PORT, --~a=PORT :\n"
" définit le port à lier, 8080 par défaut."
-#: src/scm/webid-oidc/program.scm:365
+#: src/scm/webid-oidc/program.scm:366
#, scheme-format
msgid ""
"\n"
@@ -1532,7 +1532,7 @@ msgstr ""
" définit l’URI publique du serveur (schéma, identifiant de\n"
" l’utilisateur, hôte et port)."
-#: src/scm/webid-oidc/program.scm:370
+#: src/scm/webid-oidc/program.scm:371
msgid ""
"\n"
"Options for the resource server:"
@@ -1540,7 +1540,7 @@ msgstr ""
"\n"
"Options pour le serveur de ressources :"
-#: src/scm/webid-oidc/program.scm:372
+#: src/scm/webid-oidc/program.scm:373
#, scheme-format
msgid ""
"\n"
@@ -1555,7 +1555,7 @@ msgstr ""
" authentifié, XXX-Agent par défaut. Pour un serveur complet, ceci\n"
" désactive l’authentification par Solid-OIDC."
-#: src/scm/webid-oidc/program.scm:378
+#: src/scm/webid-oidc/program.scm:379
#, scheme-format
msgid ""
"\n"
@@ -1568,7 +1568,7 @@ msgstr ""
" définit l’URI sortante du proxy inversé, seulement pour la\n"
" commande proxy-inversé."
-#: src/scm/webid-oidc/program.scm:384
+#: src/scm/webid-oidc/program.scm:385
msgid ""
"\n"
"Options for the identity provider:"
@@ -1576,7 +1576,7 @@ msgstr ""
"\n"
"Options du fournisseur d’identité :"
-#: src/scm/webid-oidc/program.scm:386
+#: src/scm/webid-oidc/program.scm:387
#, scheme-format
msgid ""
"\n"
@@ -1590,7 +1590,7 @@ msgstr ""
" nouvelle clé sera générée. Le serveur n’offre pas de service\n"
" HTTPS."
-#: src/scm/webid-oidc/program.scm:391
+#: src/scm/webid-oidc/program.scm:392
#, scheme-format
msgid ""
"\n"
@@ -1601,7 +1601,7 @@ msgstr ""
" -s WEBID, --~a=WEBID :\n"
" définit l'identité du sujet."
-#: src/scm/webid-oidc/program.scm:395
+#: src/scm/webid-oidc/program.scm:396
#, scheme-format
msgid ""
"\n"
@@ -1612,7 +1612,7 @@ msgstr ""
" -w MOT_DE_PASSE_CHIFFRÉ, --~a=MOT_DE_PASSE_CHIFFRÉ :\n"
" définit le mot de passe chiffré pour reconnaître l’utilisateur."
-#: src/scm/webid-oidc/program.scm:399
+#: src/scm/webid-oidc/program.scm:400
#, scheme-format
msgid ""
"\n"
@@ -1625,7 +1625,7 @@ msgstr ""
" lit le mot de passe chiffré de l’utilisateur dans "
"FICHIER_DE_MOT_DE_PASSE_CHIFFRÉ."
-#: src/scm/webid-oidc/program.scm:403
+#: src/scm/webid-oidc/program.scm:404
#, scheme-format
msgid ""
"\n"
@@ -1636,7 +1636,7 @@ msgstr ""
" -j URI, --~a=URI :\n"
" définit l’URI pour requêter les clés du serveur."
-#: src/scm/webid-oidc/program.scm:407
+#: src/scm/webid-oidc/program.scm:408
#, scheme-format
msgid ""
"\n"
@@ -1648,7 +1648,7 @@ msgstr ""
" définit l'URI du terminal d'autorisation de l’émetteur\n"
" d’identité."
-#: src/scm/webid-oidc/program.scm:411
+#: src/scm/webid-oidc/program.scm:412
#, scheme-format
msgid ""
"\n"
@@ -1659,7 +1659,7 @@ msgstr ""
" -t URI, --~a=URI :\n"
" définit le terminal de jeton de l’émetteur d’identité."
-#: src/scm/webid-oidc/program.scm:416
+#: src/scm/webid-oidc/program.scm:417
msgid ""
"\n"
"Options for the client service:"
@@ -1667,7 +1667,7 @@ msgstr ""
"\n"
"Options pour le service associé à un client :"
-#: src/scm/webid-oidc/program.scm:418
+#: src/scm/webid-oidc/program.scm:419
#, scheme-format
msgid ""
"\n"
@@ -1680,7 +1680,7 @@ msgstr ""
" définit l’identifiant web de l’application client, qui est\n"
" déréférencé pour une ressource sémantique."
-#: src/scm/webid-oidc/program.scm:423
+#: src/scm/webid-oidc/program.scm:424
#, scheme-format
msgid ""
"\n"
@@ -1694,7 +1694,7 @@ msgstr ""
" d’autorisation. La page de redirection affiche le code à coller\n"
" dans l’application."
-#: src/scm/webid-oidc/program.scm:428
+#: src/scm/webid-oidc/program.scm:429
#, scheme-format
msgid ""
"\n"
@@ -1706,7 +1706,7 @@ msgstr ""
" définit le nom de l’application visible par l’utilisateur (peut\n"
" être trompeur…)."
-#: src/scm/webid-oidc/program.scm:432
+#: src/scm/webid-oidc/program.scm:433
#, scheme-format
msgid ""
"\n"
@@ -1719,7 +1719,7 @@ msgstr ""
" définit l’URI présentant plus d’informations à propos de\n"
" l’application (peut aussi être trompeur)."
-#: src/scm/webid-oidc/program.scm:438
+#: src/scm/webid-oidc/program.scm:439
msgid ""
"\n"
"Environment variables:"
@@ -1727,7 +1727,7 @@ msgstr ""
"\n"
"Variables d’environnement :"
-#: src/scm/webid-oidc/program.scm:440
+#: src/scm/webid-oidc/program.scm:441
msgid ""
"\n"
" XML_CATALOG_FILES: the server will fetch resources on the web. By\n"
@@ -1746,9 +1746,9 @@ msgstr ""
" fichiers depuis le système de fichiers, parce qu’il n’y a pas de\n"
" moyen de spécifier le type de contenu."
-#: src/scm/webid-oidc/program.scm:448 src/scm/webid-oidc/program.scm:455
-#: src/scm/webid-oidc/program.scm:464 src/scm/webid-oidc/program.scm:472
-#: src/scm/webid-oidc/program.scm:480
+#: src/scm/webid-oidc/program.scm:449 src/scm/webid-oidc/program.scm:456
+#: src/scm/webid-oidc/program.scm:465 src/scm/webid-oidc/program.scm:473
+#: src/scm/webid-oidc/program.scm:481
#, scheme-format
msgid ""
"the-environment-variable|\n"
@@ -1757,7 +1757,7 @@ msgstr ""
" \n"
" Elle vaut actuellement ~s."
-#: src/scm/webid-oidc/program.scm:451
+#: src/scm/webid-oidc/program.scm:452
msgid ""
"\n"
" LANG: set the locale of the user interface (for the server commands,\n"
@@ -1767,7 +1767,7 @@ msgstr ""
" LANG : définit la locale de l’interface utilisateur (pour les\n"
" commandes serveur, l’utilisateur est l’administrateur système)."
-#: src/scm/webid-oidc/program.scm:458
+#: src/scm/webid-oidc/program.scm:459
msgid ""
"\n"
" XDG_DATA_HOME: where the program stores persistent data. The\n"
@@ -1782,7 +1782,7 @@ msgstr ""
" ici. Pour un service système, il est recommandé d’utiliser\n"
" /var/lib."
-#: src/scm/webid-oidc/program.scm:467
+#: src/scm/webid-oidc/program.scm:468
msgid ""
"\n"
" XDG_CACHE_HOME: where the program stores and updates the seed file,\n"
@@ -1795,7 +1795,7 @@ msgstr ""
" supprimer ce dossier n’importe quand. Le fichier de graine sera\n"
" initialisé à partir de /dev/random."
-#: src/scm/webid-oidc/program.scm:475
+#: src/scm/webid-oidc/program.scm:476
msgid ""
"\n"
" HOME: if XDG_DATA_HOME or XDG_CACHE_HOME is not set, they are\n"
@@ -1807,7 +1807,7 @@ msgstr ""
" valeur est calculée à partir de la variable d’environnement\n"
" HOME. Elle n’est pas utilisée autrement."
-#: src/scm/webid-oidc/program.scm:484
+#: src/scm/webid-oidc/program.scm:485
msgid ""
"\n"
"Running a reverse proxy"
@@ -1815,7 +1815,7 @@ msgstr ""
"\n"
"Exécution d’un proxy inversé"
-#: src/scm/webid-oidc/program.scm:486
+#: src/scm/webid-oidc/program.scm:487
msgid ""
"\n"
"Suppose that you operate data.provider.com. You want to run an\n"
@@ -1837,7 +1837,7 @@ msgstr ""
"authentifié. https://private.data.provider.com ne doit accepter que\n"
"les requêtes depuis ce proxy inversé."
-#: src/scm/webid-oidc/program.scm:496
+#: src/scm/webid-oidc/program.scm:497
#, scheme-format
msgid ""
"\n"
@@ -1861,7 +1861,7 @@ msgstr ""
" --~a '/var/log/proxy.log' \\\n"
" --~a '/var/log/proxy.err'"
-#: src/scm/webid-oidc/program.scm:511
+#: src/scm/webid-oidc/program.scm:512
msgid ""
"\n"
"Running an identity provider"
@@ -1869,7 +1869,7 @@ msgstr ""
"\n"
"Exécution d’un fournisseur d’identité"
-#: src/scm/webid-oidc/program.scm:513
+#: src/scm/webid-oidc/program.scm:514
msgid ""
"\n"
"The identity provider running at webid-oidc-demo.planete-kraus.eu is\n"
@@ -1880,7 +1880,7 @@ msgstr ""
"webid-oidc-demo.planete-kraus.eu est invoqué avec les options\n"
"suivantes :"
-#: src/scm/webid-oidc/program.scm:517
+#: src/scm/webid-oidc/program.scm:518
#, scheme-format
msgid ""
"\n"
@@ -1914,7 +1914,7 @@ msgstr ""
" --~a 'https://webid-oidc-demo.planete-kraus.eu/token' \\\n"
" --~a $PORT"
-#: src/scm/webid-oidc/program.scm:537
+#: src/scm/webid-oidc/program.scm:538
msgid ""
"\n"
"Running the public pages for an application"
@@ -1922,7 +1922,7 @@ msgstr ""
"\n"
"Service des pages publiques pour une application"
-#: src/scm/webid-oidc/program.scm:539
+#: src/scm/webid-oidc/program.scm:540
msgid ""
"\n"
"The example client application pages for\n"
@@ -1932,7 +1932,7 @@ msgstr ""
"Les pages de l’application client d’exemple pour\n"
"webid-oidc-demo.planete-kraus.eu sont servies de cette façon :"
-#: src/scm/webid-oidc/program.scm:543
+#: src/scm/webid-oidc/program.scm:544
#, scheme-format
msgid ""
"\n"
@@ -1960,7 +1960,7 @@ msgstr ""
"html#Running-a-client' \\\n"
" --~a $PORT"
-#: src/scm/webid-oidc/program.scm:557
+#: src/scm/webid-oidc/program.scm:558
msgid ""
"\n"
"Running a full server"
@@ -1968,7 +1968,7 @@ msgstr ""
"\n"
"Exécution d’un serveur complet"
-#: src/scm/webid-oidc/program.scm:560
+#: src/scm/webid-oidc/program.scm:561
msgid ""
"\n"
"To run the server with identity provider and\n"
@@ -1980,7 +1980,7 @@ msgstr ""
"un serveur de ressources pour un utilisateur particulier, vous devez\n"
"combiner les options des parties."
-#: src/scm/webid-oidc/program.scm:564
+#: src/scm/webid-oidc/program.scm:565
#, scheme-format
msgid ""
"\n"
@@ -2014,7 +2014,7 @@ msgstr ""
" --~a 'https://data.planete-kraus.eu/token' \\\n"
" --~a '...port...'"
-#: src/scm/webid-oidc/program.scm:589
+#: src/scm/webid-oidc/program.scm:590
#, scheme-format
msgid ""
"\n"
@@ -2023,7 +2023,7 @@ msgstr ""
"\n"
"Si vous trouvez une erreur, veuillez en envoyer un rapport à ~a."
-#: src/scm/webid-oidc/program.scm:594
+#: src/scm/webid-oidc/program.scm:595
#, scheme-format
msgid ""
"~a version ~a\n"
@@ -2034,27 +2034,27 @@ msgstr ""
"\n"
"Publiée le ~a\n"
-#: src/scm/webid-oidc/program.scm:631
+#: src/scm/webid-oidc/program.scm:632
#, 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:637
+#: src/scm/webid-oidc/program.scm:638
#, 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:643
+#: src/scm/webid-oidc/program.scm:644
#, 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:648
+#: src/scm/webid-oidc/program.scm:649
#, 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:676
+#: src/scm/webid-oidc/program.scm:677
msgid ""
"You specified two different passwords: one directly, and one from a file. "
"Please set only one password.\n"
@@ -2062,7 +2062,7 @@ msgstr ""
"Vous avez spécifié deux mots de passe différents : l’un directement,\n"
"et un autre depuis un fichier. Veuillez n’en spécifier qu’un.\n"
-#: src/scm/webid-oidc/program.scm:700
+#: src/scm/webid-oidc/program.scm:701
#, scheme-format
msgid ""
"Usage: ~a COMMAND [OPTIONS]...\n"
@@ -2071,18 +2071,18 @@ msgstr ""
"Utilisation : ~a COMMANDE [OPTIONS]...\n"
"Voir --~a (-h).\n"
-#: src/scm/webid-oidc/program.scm:710 src/scm/webid-oidc/program.scm:732
-#: src/scm/webid-oidc/program.scm:802
+#: src/scm/webid-oidc/program.scm:711 src/scm/webid-oidc/program.scm:733
+#: src/scm/webid-oidc/program.scm:803
#, 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:714
+#: src/scm/webid-oidc/program.scm:715
#, 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:736 src/scm/webid-oidc/program.scm:806
+#: src/scm/webid-oidc/program.scm:737 src/scm/webid-oidc/program.scm:807
#, scheme-format
msgid ""
"You must pass --~a to set the file where to store the identity provider "
@@ -2091,66 +2091,66 @@ 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:740 src/scm/webid-oidc/program.scm:810
+#: src/scm/webid-oidc/program.scm:741 src/scm/webid-oidc/program.scm:811
#, 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:744
+#: src/scm/webid-oidc/program.scm:745
#, scheme-format
msgid "You must pass --~a or --~a to set the subject’s encrypted password.\n"
msgstr ""
"Vous devez passer --~a ou --~a pour définir le mot de passe chiffré du "
"sujet.\n"
-#: src/scm/webid-oidc/program.scm:748 src/scm/webid-oidc/program.scm:818
+#: src/scm/webid-oidc/program.scm:749 src/scm/webid-oidc/program.scm:819
#, 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:752 src/scm/webid-oidc/program.scm:822
+#: src/scm/webid-oidc/program.scm:753 src/scm/webid-oidc/program.scm:823
#, 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:756 src/scm/webid-oidc/program.scm:826
+#: src/scm/webid-oidc/program.scm:757 src/scm/webid-oidc/program.scm:827
#, 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:774
+#: src/scm/webid-oidc/program.scm:775
#, 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:778
+#: src/scm/webid-oidc/program.scm:779
#, 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:782
+#: src/scm/webid-oidc/program.scm:783
#, 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:786
+#: src/scm/webid-oidc/program.scm:787
#, 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:814
+#: src/scm/webid-oidc/program.scm:815
#, 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:869
+#: src/scm/webid-oidc/program.scm:870
#, scheme-format
msgid "Unknown command ~s\n"
msgstr "Commande inconnue ~s\n"
diff --git a/src/scm/webid-oidc/client.scm b/src/scm/webid-oidc/client.scm
index 1aad35d..461c4a7 100644
--- a/src/scm/webid-oidc/client.scm
+++ b/src/scm/webid-oidc/client.scm
@@ -25,6 +25,7 @@
#:use-module ((webid-oidc stubs) #:prefix stubs:)
#:use-module ((webid-oidc config) #:prefix cfg:)
#:use-module ((webid-oidc client accounts) #:prefix client:)
+ #:use-module ((webid-oidc cache) #:prefix cache:)
#:use-module (web uri)
#:use-module (web client)
#:use-module (web request)
@@ -104,33 +105,35 @@
((value port)
(original-writer value port))))))
+(define* default-http-get-with-cache
+ (cache:with-cache))
+
+(define* (default-http-request uri . all-args)
+ (let try-get-with-cache ((args all-args))
+ (match args
+ ((#:headers _)
+ (apply default-http-get-with-cache all-args))
+ ((#:headers _ other-args ...)
+ (try-get-with-cache other-args))
+ (else
+ (apply http-request all-args)))))
+
(define* (initial-login client issuer
#:key
- (http-request http-request))
+ (http-request default-http-request))
(setup-headers!)
(match client
(($ <client> client-id client-key redirect-uri)
- (let ((my-http-get
- (lambda* (uri . args)
- (apply http-request uri
- #:method 'GET
- args)))
- (my-http-post
- (lambda* (uri . args)
- (apply http-request uri
- #:method 'POST
- args))))
- (client:save-account
- (client:login #f issuer
- #:http-get my-http-get
- #:http-post my-http-post
- #:client-id client-id
- #:client-key client-key
- #:redirect-uri redirect-uri))))))
+ (client:save-account
+ (client:login #f issuer
+ #:http-request http-request
+ #:client-id client-id
+ #:client-key client-key
+ #:redirect-uri redirect-uri)))))
(define* (request client subject issuer
#:key
- (http-request http-request))
+ (http-request default-http-request))
(setup-headers!)
(match client
(($ <client> client-id client-key redirect-uri)
@@ -149,16 +152,14 @@
((subject issuer)
(client:save-account
(client:login subject issuer
- #:http-get my-http-get
- #:http-post my-http-post
+ #:http-request http-request
#:client-id client-id
#:client-key client-key
#:redirect-uri redirect-uri)))
((($ <client:account> subject issuer _ _ _ _))
(client:save-account
(client:login subject issuer
- #:http-get my-http-get
- #:http-post my-http-post
+ #:http-request http-request
#:client-id client-id
#:client-key client-key
#:redirect-uri redirect-uri)))))))
diff --git a/src/scm/webid-oidc/client/accounts.scm b/src/scm/webid-oidc/client/accounts.scm
index d7219e3..cd69c59 100644
--- a/src/scm/webid-oidc/client/accounts.scm
+++ b/src/scm/webid-oidc/client/accounts.scm
@@ -310,12 +310,15 @@
(($ <account> subject issuer id-token access-token _ keypair)
(make-account subject issuer id-token access-token #f keypair))))
+(define (http-request->http-get http-request)
+ (lambda* (uri . all-args)
+ (apply http-request uri #:method 'GET all-args)))
+
;; subject is optional. If the user is unknown, ask for an issuer and
;; pass #f as subject.
(define* (login subject issuer
#:key
- (http-get http-get)
- (http-post http-post)
+ (http-request http-request)
(state #f)
client-id
client-key
@@ -337,7 +340,7 @@
(uri-host issuer)
#:userinfo (uri-userinfo issuer)
#:port (uri-port issuer)
- #:http-get http-get)))
+ #:http-get (http-request->http-get http-request))))
(values
(cfg:oidc-configuration-authorization-endpoint configuration)
(cfg:oidc-configuration-token-endpoint configuration)))
@@ -379,23 +382,24 @@
#:htu token-endpoint)))
;; Post the token request with the correct grant:
(receive (response response-body)
- (http-post token-endpoint
- #:body
- (string-join
- (map
- (match-lambda
- ((key . value)
- (string-append (uri-encode key)
- "="
- (uri-encode value))))
- `(("grant_type" . ,grant-type)
- (,(if available-refresh-token
- "refresh_token"
- "code") . ,grant)))
- "&")
- #:headers
- `((content-type application/x-www-form-urlencoded)
- (dpop . ,dpop-proof)))
+ (http-request token-endpoint
+ #:method 'POST
+ #:body
+ (string-join
+ (map
+ (match-lambda
+ ((key . value)
+ (string-append (uri-encode key)
+ "="
+ (uri-encode value))))
+ `(("grant_type" . ,grant-type)
+ (,(if available-refresh-token
+ "refresh_token"
+ "code") . ,grant)))
+ "&")
+ #:headers
+ `((content-type application/x-www-form-urlencoded)
+ (dpop . ,dpop-proof)))
;; Check that the token endpoint responded correctly.
(when (eqv? (response-code response) 403)
(when subject
@@ -440,7 +444,7 @@
'application/json)
(let ((final-message
(format #f (G_ "The token response has content-type ~s, not application/json.")
- (response-content-type response))))
+ (response-content-type response))))
(raise-exception
(make-exception
(make-token-request-failed response response-body)
@@ -490,7 +494,10 @@
(make-exception-with-message final-message)
decoding-error))))
(lambda ()
- (set! id-token (id:id-token-decode id-token #:http-get http-get))))
+ (set! id-token
+ (id:id-token-decode id-token
+ #:http-get
+ (http-request->http-get http-request)))))
;; We are not interested in the ID token
;; signature anymore, because it won’t be
;; transmitted to other parties and we know that
diff --git a/src/scm/webid-oidc/program.scm b/src/scm/webid-oidc/program.scm
index 2b80bef..6af3665 100644
--- a/src/scm/webid-oidc/program.scm
+++ b/src/scm/webid-oidc/program.scm
@@ -37,6 +37,7 @@
#:use-module (ice-9 threads)
#:use-module (ice-9 futures)
#:use-module (ice-9 textual-ports)
+ #:use-module (ice-9 exceptions)
#:use-module (srfi srfi-19)
#:use-module (rnrs bytevectors)
#:use-module (web uri)