taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit d566f16157971f6d424514325a5518389c0a20f1
parent 544534653ffbe8fb89dae56e85851def89678ae1
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri,  7 Aug 2026 01:05:54 +0200

todos for turnstiles

Diffstat:
Mfrags/drupal-paivana-manual.rst | 13+++++++++++++
Mfrags/wordpress-paivana-manual.rst | 11+++++++++++
2 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/frags/drupal-paivana-manual.rst b/frags/drupal-paivana-manual.rst @@ -449,6 +449,19 @@ paid amount is one of the amounts the price category accepts**. Only then does it mint the ``taler_turnstile_paivana`` cookie and 303-redirect the browser back to the article. +.. note:: + + The field named ``cur_time`` here is not a current time: it is + the *expiration* of the access being bought, which is why it is + also one of the inputs hashed into the ``paivana_id``. + ``paivana-httpd`` and + :doc:`DD 76 </design-documents/076-paywall-proxy>` have renamed + it to ``expiration`` for exactly that reason. **TODO:** rename + it here too, in the module's JavaScript and controller and then + in this manual; until the module changes, this document + deliberately keeps the old name so that it matches the code that + is shipped. + The cookie is keyed on Drupal's per-site ``private_key``, bound to the visitor's client IP and to the specific fulfillment URL, marked ``HttpOnly``, ``SameSite=Lax``, and ``Secure`` when the diff --git a/frags/wordpress-paivana-manual.rst b/frags/wordpress-paivana-manual.rst @@ -443,6 +443,17 @@ the requesting page and that the paid amount is one of the amounts the price category accepts**. Only then does it mint the ``taler_turnstile_paivana`` cookie and instruct the browser to reload the article. +.. note:: + + The field named ``cur_time`` here is not a current time: it is the + *expiration* of the access being bought, which is why it is also one of + the inputs hashed into the ``paivana_id``. ``paivana-httpd`` and + :doc:`DD 76 </design-documents/076-paywall-proxy>` have renamed it to + ``expiration`` for exactly that reason. **TODO:** rename it here too, in + the plugin's JavaScript and REST controller and then in this manual; + until the plugin changes, this document deliberately keeps the old name + so that it matches the code that is shipped. + The cookie is keyed on Wordpress' built-in ``wp_salt('auth')``, bound to the visitor's ``REMOTE_ADDR`` and ``Path``-scoped to the specific fulfillment URL, marked ``HttpOnly``, ``SameSite=Lax``, and ``Secure`` when the page was served