Mercurial > prosody-modules
annotate mod_bookmarks2/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 | 2718652c18ca |
children |
rev | line source |
---|---|
3677
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
1 --- |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
2 labels: |
4852
810b0e17d3aa
mod_bookmarks2: Update Compatibility table
Kim Alvefur <zash@zash.se>
parents:
4851
diff
changeset
|
3 - 'Stage-Merged' |
4834
7ed2467c9bb5
mod_bookmarks2: Add simple support for legacy PEP queries
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
4278
diff
changeset
|
4 summary: Synchronise bookmarks between Private XML, legacy PEP, and PEP |
3677
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
5 ... |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
6 |
4851
0ceb2f223b30
mod_bookmarks2: Add a notice of inclusion in prosody-trunk
Kim Alvefur <zash@zash.se>
parents:
4834
diff
changeset
|
7 ::: {.alert .alert-info} |
5051
2718652c18ca
mod_bookmarks2: Update README to reflect 0.12 release
Matthew Wild <mwild1@gmail.com>
parents:
4852
diff
changeset
|
8 **Deprecatation notice:** This module has been merged into Prosody as |
2718652c18ca
mod_bookmarks2: Update README to reflect 0.12 release
Matthew Wild <mwild1@gmail.com>
parents:
4852
diff
changeset
|
9 [mod_bookmarks][doc:modules:mod_bookmarks]. Users of Prosody **0.12** |
2718652c18ca
mod_bookmarks2: Update README to reflect 0.12 release
Matthew Wild <mwild1@gmail.com>
parents:
4852
diff
changeset
|
10 and later should switch to that. |
4851
0ceb2f223b30
mod_bookmarks2: Add a notice of inclusion in prosody-trunk
Kim Alvefur <zash@zash.se>
parents:
4834
diff
changeset
|
11 ::: |
0ceb2f223b30
mod_bookmarks2: Add a notice of inclusion in prosody-trunk
Kim Alvefur <zash@zash.se>
parents:
4834
diff
changeset
|
12 |
3677
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
13 Introduction |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
14 ------------ |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
15 |
4834
7ed2467c9bb5
mod_bookmarks2: Add simple support for legacy PEP queries
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
4278
diff
changeset
|
16 This module fetches users’ bookmarks from Private XML (or legacy PEP) and |
7ed2467c9bb5
mod_bookmarks2: Add simple support for legacy PEP queries
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
4278
diff
changeset
|
17 pushes them to PEP on login, and then redirects any Private XML query (or |
7ed2467c9bb5
mod_bookmarks2: Add simple support for legacy PEP queries
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
4278
diff
changeset
|
18 legacy PEP) to PEP. This allows interoperability between older clients that |
7ed2467c9bb5
mod_bookmarks2: Add simple support for legacy PEP queries
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
4278
diff
changeset
|
19 use [XEP-0048](https://xmpp.org/extensions/xep-0048.html) and recent clients |
7ed2467c9bb5
mod_bookmarks2: Add simple support for legacy PEP queries
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
4278
diff
changeset
|
20 which use [XEP-0402](https://xmpp.org/extensions/xep-0402.html). |
3677
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
21 |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
22 Configuration |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
23 ------------- |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
24 |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
25 Simply [enable it like most other |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
26 modules](https://prosody.im/doc/installing_modules#prosody-modules), no |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
27 further configuration is needed. |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
28 |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
29 Compatibility |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
30 ------------- |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
31 |
4852
810b0e17d3aa
mod_bookmarks2: Update Compatibility table
Kim Alvefur <zash@zash.se>
parents:
4851
diff
changeset
|
32 ------- ----------------------------------------- |
5051
2718652c18ca
mod_bookmarks2: Update README to reflect 0.12 release
Matthew Wild <mwild1@gmail.com>
parents:
4852
diff
changeset
|
33 0.12 [Use the official mod_bookmarks module instead][doc:modules:mod_bookmarks] |
3677
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
34 0.11 Works |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
35 0.10 Does not work |
90f88a643973
mod_bookmarks2: Add new module.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
36 0.9 Does not work |
4852
810b0e17d3aa
mod_bookmarks2: Update Compatibility table
Kim Alvefur <zash@zash.se>
parents:
4851
diff
changeset
|
37 ------- ----------------------------------------- |