Mercurial > prosody-modules
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 |
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) |