Mercurial > p > roundup > code
annotate doc/index.txt @ 8411:ef1ea918b07a reauth-confirm_id
feat(security): Add user confirmation/reauth for sensitive changes
Auditors can raise Reauth(reason) exception to require the user to
enter a token (e.g. account password) to verify the user is performing
the change.
Naming is subject to change.
actions.py: New ReauthAction class handler and verifyPassword() method
for overriding if needed.
client.py: Handle Reauth exception by calling Client:reauth() method.
Default client:reauth method. Add 'reauth' action declaration.
exceptions.py: Define and document Reauth exception as a subclass of
RoundupCGIException.
templating.py: Define method utils.embed_form_fields().
The original form making a change to the database has a lot of form
fields. These need to be resubmitted to Roundup as part of the form
submission that verifies the user's password.
This method turns all non file form fields into type=hidden inputs.
It escapes the names and values to prevent XSS.
For file form fields, it base64 encodes the contents and puts them
in hidden pre blocks. The pre blocks have data attributes for the
filename, filetype and the original field name. (Note the original
field name is not used.)
This stops the file content data (maybe binary e.g. jpegs) from
breaking the html page. The reauth template runs JavaScript that
turns the encoded data inside the pre tags back into a file. Then
it adds a multiple file input control to the page and attaches all
the files to it. This file input is submitted with the rest of the
fields.
_generic.reauth.html (multiple tracker templates): Generates a form
with id=reauth_form to:
display any message from the Reauth exception to the user (e.g. why
user is asked to auth).
get the user's password
submit the form
embed all the form data that triggered the reauth
recreate any file data that was submitted as part of the form and
generate a new file input to push the data to the back end
It has the JavaScript routine (as an IIFE) that regenerates a file
input without user intervention.
All the TAL based tracker templates use the same form. There is also
one for the jinja2 template. The JavaScript for both is the same.
reference.txt: document embed_form_fields utility method.
upgrading.txt: initial upgrading docs.
TODO:
Finalize naming. I am leaning toward ConfirmID rather than Reauth.
Still looking for a standard name for this workflow.
Externalize the javascript in _generic.reauth.html to a seperate file
and use utils.readfile() to embed it or change the script to load it
from a @@file url.
Clean up upgrading.txt with just steps to implement and less feature
detail/internals.
Document internals/troubleshooting in reference.txt.
Add tests using live server.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Mon, 11 Aug 2025 14:01:12 -0400 |
| parents | 3f43db05aa11 |
| children |
| rev | line source |
|---|---|
|
6586
24e2eeb2ed9a
Add meta description to some doc pages.
John Rouillard <rouilj@ieee.org>
parents:
6265
diff
changeset
|
1 .. meta:: |
|
6774
e7b4ad2c57ac
landmarks, skiplink, remove bad attrs, autocomplete search
John Rouillard <rouilj@ieee.org>
parents:
6586
diff
changeset
|
2 :description: |
|
6586
24e2eeb2ed9a
Add meta description to some doc pages.
John Rouillard <rouilj@ieee.org>
parents:
6265
diff
changeset
|
3 Table of contents for documentation on the Roundup Issue Tracker. |
|
24e2eeb2ed9a
Add meta description to some doc pages.
John Rouillard <rouilj@ieee.org>
parents:
6265
diff
changeset
|
4 |
|
686
c52122f38c9b
Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents:
659
diff
changeset
|
5 ======================================================= |
|
c52122f38c9b
Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents:
659
diff
changeset
|
6 Roundup: an Issue-Tracking System for Knowledge Workers |
|
c52122f38c9b
Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents:
659
diff
changeset
|
7 ======================================================= |
|
659
e429649ed124
More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 |
|
6265
b2eb59ada444
Replace http:....roundup-tracker.org with https. Also fix wiki links.
John Rouillard <rouilj@ieee.org>
parents:
6160
diff
changeset
|
9 For how to contact the community see https://www.roundup-tracker.org . |
|
4610
e793eafba69c
Documentation: Synced the doc/index.txt and docs.txt. Removed outdated contact.txt.
Bernhard Reiter <bernhard@intevation.de>
parents:
4440
diff
changeset
|
10 |
|
659
e429649ed124
More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 Contents |
|
e429649ed124
More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 ======== |
|
e429649ed124
More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
4000
diff
changeset
|
14 .. toctree:: |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
4000
diff
changeset
|
15 :maxdepth: 2 |
|
8315
3f43db05aa11
docs: use bulleted list for deprecation; pydoc for shared dir
John Rouillard <rouilj@ieee.org>
parents:
7919
diff
changeset
|
16 :includehidden: |
|
659
e429649ed124
More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
4000
diff
changeset
|
18 features |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
19 |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
4000
diff
changeset
|
20 installation |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
4000
diff
changeset
|
21 upgrading |
| 7092 | 22 security |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
4000
diff
changeset
|
23 FAQ |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
24 |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
4000
diff
changeset
|
25 user_guide |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
26 |
|
7499
a072331c843b
Change customizing to customising in all variants.
John Rouillard <rouilj@ieee.org>
parents:
7331
diff
changeset
|
27 customising <customizing.txt> |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
28 rest |
|
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
29 xmlrpc |
|
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
30 reference |
|
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
31 glossary |
|
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
32 |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
4000
diff
changeset
|
33 admin_guide |
|
7919
e3b34d02c61a
doc: add html versions of man pages
John Rouillard <rouilj@ieee.org>
parents:
7499
diff
changeset
|
34 man pages <man_pages> |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
35 license |
|
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
36 acknowledgements |
|
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
37 |
|
7283
1a0548b60c6b
Update document TOC with security-history, reference, upgrading-history
John Rouillard <rouilj@ieee.org>
parents:
7100
diff
changeset
|
38 upgrading-history |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
39 |
|
7100
8a267e9827cc
Integrate security.txt with website docs. Align TOCs.
John Rouillard <rouilj@ieee.org>
parents:
7096
diff
changeset
|
40 tracker_templates |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
41 |
|
7100
8a267e9827cc
Integrate security.txt with website docs. Align TOCs.
John Rouillard <rouilj@ieee.org>
parents:
7096
diff
changeset
|
42 Design Overview <overview> |
|
4890
609edf9de0a5
docs: Remove one nesting level from ToC on subpages
anatoly techtonik <techtonik@gmail.com>
parents:
4746
diff
changeset
|
43 Design (original) <design> |
|
7919
e3b34d02c61a
doc: add html versions of man pages
John Rouillard <rouilj@ieee.org>
parents:
7499
diff
changeset
|
44 Software Carpentry and Papers <sc> |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
45 |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
4000
diff
changeset
|
46 developers |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
47 |
|
5078
487dc55e3c5e
issue2550907 Fix errors when creating documentation. Work done by
John Rouillard <rouilj@ieee.org>
parents:
4890
diff
changeset
|
48 Notes about the MySQL Database backend <mysql> |
|
487dc55e3c5e
issue2550907 Fix errors when creating documentation. Work done by
John Rouillard <rouilj@ieee.org>
parents:
4890
diff
changeset
|
49 Notes about the PostgreSQL Database backend <postgresql> |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
50 |
|
5078
487dc55e3c5e
issue2550907 Fix errors when creating documentation. Work done by
John Rouillard <rouilj@ieee.org>
parents:
4890
diff
changeset
|
51 Richard Jones implementation notes <implementation> |
|
7331
24101267e3fb
Reorder docs to match web site docs.
John Rouillard <rouilj@ieee.org>
parents:
7283
diff
changeset
|
52 security-history |
|
5925
7cf8f6389aad
issue2551002: Add reference to wiki ReleaseErrata page to docs.
John Rouillard <rouilj@ieee.org>
parents:
5695
diff
changeset
|
53 |
|
8315
3f43db05aa11
docs: use bulleted list for deprecation; pydoc for shared dir
John Rouillard <rouilj@ieee.org>
parents:
7919
diff
changeset
|
54 .. toctree:: |
|
3f43db05aa11
docs: use bulleted list for deprecation; pydoc for shared dir
John Rouillard <rouilj@ieee.org>
parents:
7919
diff
changeset
|
55 :hidden: |
|
3f43db05aa11
docs: use bulleted list for deprecation; pydoc for shared dir
John Rouillard <rouilj@ieee.org>
parents:
7919
diff
changeset
|
56 |
|
3f43db05aa11
docs: use bulleted list for deprecation; pydoc for shared dir
John Rouillard <rouilj@ieee.org>
parents:
7919
diff
changeset
|
57 pydoc |
|
3f43db05aa11
docs: use bulleted list for deprecation; pydoc for shared dir
John Rouillard <rouilj@ieee.org>
parents:
7919
diff
changeset
|
58 |
|
5925
7cf8f6389aad
issue2551002: Add reference to wiki ReleaseErrata page to docs.
John Rouillard <rouilj@ieee.org>
parents:
5695
diff
changeset
|
59 See: https://wiki.roundup-tracker.org/ReleaseErrata for fixes to |
|
7cf8f6389aad
issue2551002: Add reference to wiki ReleaseErrata page to docs.
John Rouillard <rouilj@ieee.org>
parents:
5695
diff
changeset
|
60 documentation. |
|
6160
9619d64c0351
Doc updates for customizing.txt, start of index generation
John Rouillard <rouilj@ieee.org>
parents:
5925
diff
changeset
|
61 |
|
9619d64c0351
Doc updates for customizing.txt, start of index generation
John Rouillard <rouilj@ieee.org>
parents:
5925
diff
changeset
|
62 Indices |
|
9619d64c0351
Doc updates for customizing.txt, start of index generation
John Rouillard <rouilj@ieee.org>
parents:
5925
diff
changeset
|
63 ======= |
|
9619d64c0351
Doc updates for customizing.txt, start of index generation
John Rouillard <rouilj@ieee.org>
parents:
5925
diff
changeset
|
64 |
|
9619d64c0351
Doc updates for customizing.txt, start of index generation
John Rouillard <rouilj@ieee.org>
parents:
5925
diff
changeset
|
65 * :ref:`genindex` |
