Annotate

mod_turncredentials/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
parent 4055:cf1304ad2336
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4002
9e84a9cc3415 mod_turncredentials/README: Markdown syntax normalization
Kim Alvefur <zash@zash.se>
parents: 4001
diff changeset
1 # Introduction
2473
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
4002
9e84a9cc3415 mod_turncredentials/README: Markdown syntax normalization
Kim Alvefur <zash@zash.se>
parents: 4001
diff changeset
3 [XEP-0215] implementation for [time-limited TURN
9e84a9cc3415 mod_turncredentials/README: Markdown syntax normalization
Kim Alvefur <zash@zash.se>
parents: 4001
diff changeset
4 credentials](https://tools.ietf.org/html/draft-uberti-behave-turn-rest-00).
2473
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5
4002
9e84a9cc3415 mod_turncredentials/README: Markdown syntax normalization
Kim Alvefur <zash@zash.se>
parents: 4001
diff changeset
6 # Configuration
2473
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 Option Type Default
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 ------------------------- -------- ------------
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 turncredentials\_secret string *required*
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 turncredentials\_host string *required*
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 turncredentials\_port number `3478`
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 turncredentials\_ttl number `86400`
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14
4003
b6fdd7e24bcc mod_turncredentials/README: Link to some stun/turn implementations (thanks Holger)
Kim Alvefur <zash@zash.se>
parents: 4002
diff changeset
15 # Compatible TURN / STUN servers.
2473
fa8fe2ab332f mod_turncredentials: Add a stub README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16
4003
b6fdd7e24bcc mod_turncredentials/README: Link to some stun/turn implementations (thanks Holger)
Kim Alvefur <zash@zash.se>
parents: 4002
diff changeset
17 - [coturn](https://github.com/coturn/coturn) - [setup guide][doc:coturn]
b6fdd7e24bcc mod_turncredentials/README: Link to some stun/turn implementations (thanks Holger)
Kim Alvefur <zash@zash.se>
parents: 4002
diff changeset
18 - [restund](http://www.creytiv.com/restund.html)
4055
cf1304ad2336 mod_turncredentials/README: Link to eturnal (thanks Holger)
Kim Alvefur <zash@zash.se>
parents: 4020
diff changeset
19 - [eturnal](https://eturnal.net/)
4020
4b47c8eeca22 mod_extdisco, mod_turncredentials: Note incompatibility in readmes.
tastytea <tastytea@tastytea.de>
parents: 4005
diff changeset
20
4b47c8eeca22 mod_extdisco, mod_turncredentials: Note incompatibility in readmes.
tastytea <tastytea@tastytea.de>
parents: 4005
diff changeset
21 # Compatibility
4b47c8eeca22 mod_extdisco, mod_turncredentials: Note incompatibility in readmes.
tastytea <tastytea@tastytea.de>
parents: 4005
diff changeset
22
4b47c8eeca22 mod_extdisco, mod_turncredentials: Note incompatibility in readmes.
tastytea <tastytea@tastytea.de>
parents: 4005
diff changeset
23 Incompatible with [mod_extdisco](https://modules.prosody.im/mod_extdisco.html)