annotate mod_nooffline_noerror/README.markdown @ 5193:2bb29ece216b

mod_http_oauth2: Implement stateless dynamic client registration Replaces previous explicit registration that required either the additional module mod_adhoc_oauth2_client or manually editing the database. That method was enough to have something to test with, but would not probably not scale easily. Dynamic client registration allows creating clients on the fly, which may be even easier in theory. In order to not allow basically unauthenticated writes to the database, we implement a stateless model here. per_host_key := HMAC(config -> oauth2_registration_key, hostname) client_id := JWT { client metadata } signed with per_host_key client_secret := HMAC(per_host_key, client_id) This should ensure everything we need to know is part of the client_id, allowing redirects etc to be validated, and the client_secret can be validated with only the client_id and the per_host_key. A nonce injected into the client_id JWT should ensure nobody can submit the same client metadata and retrieve the same client_secret
author Kim Alvefur <zash@zash.se>
date Fri, 03 Mar 2023 21:14:19 +0100
parents 7e7ac4af6e0c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3928
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
1 ---
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
2 labels:
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
3 - 'Stage-Alpha'
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
4 summary: Discard offline stanzas instead of generating stanza errors if mod_offline is not loaded
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
5 ...
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
6
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
7 Introduction
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
8 ============
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
9
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
10 By default without mod_offline stanzas that would go to offline storage
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
11 trigger error stanzas sent back to the sender to inform him of undeliverable stanzas.
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
12
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
13 But if you use MAM on your server and are certain, all of your clients are using it,
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
14 you can use this module to disable the error stanzas.
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
15 If mod_offline is loaded, this module will do nothing.
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
16
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
17 Warning
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
18 =======
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
19
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
20 You most certainly *should not* use this module if you cannot be certain
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
21 that *all* your clients support and use MAM!
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
22
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
23 Compatibility
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
24 =============
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
25
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
26 ----- -------------------------------------------------------------------
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
27 trunk Works
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
28 0.10 Works
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
29 0.9 Untested but should work
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
30 ----- -------------------------------------------------------------------