annotate mod_statistics_statsman/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 bac3dae031ee
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3158
2558ece20e58 mod_statistics_statsman: Streaming access to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 A module providing a streaming statistics interface like
3159
e995cd0f228e mod_statistics_statsman/README: Fix typo in link
Kim Alvefur <zash@zash.se>
parents: 3158
diff changeset
2 [mod_statistics] but based on the new [statistics API][doc:statistics]
3158
2558ece20e58 mod_statistics_statsman: Streaming access to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 introduced in Prosody 0.10.
3608
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
4
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
5 # Usage
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
6
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
7 To use, enable the built-in statistics like so:
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
8
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
9 ```lua
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
10 statistics = "internal"
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
11 ```
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
12
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
13 Then, in `modules_enabled`, replace `"statistics"` with
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
14 `"statistics_statsman"` and the various `"statistics_<something>"`
2c25594f9e71 mod_statistics_statsman/README: Describe how to switch from mod_statistics
Kim Alvefur <zash@zash.se>
parents: 3159
diff changeset
15 with equivalent `"measure_<something>"`.
4595
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
16
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
17
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
18 # Compatibility
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
19
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
20 ------- --------------------
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
21 trunk Does not work [^1]
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
22 0.11 Should work
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
23 0.10 Should work
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
24 ------- --------------------
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
25
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
26 [^1]: not after
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3608
diff changeset
27 [5f15ab7c6ae5](https://hg.prosody.im/trunk/rev/5f15ab7c6ae5)