Software /
code /
prosody-modules
Annotate
mod_discodot/README.markdown @ 5390:f2363e6d9a64
mod_http_oauth2: Advertise the currently supported id_token signing algorithm
This field is REQUIRED. The algorithm RS256 MUST be included, but isn't
because we don't implement it, as that would require implementing a pile
of additional cryptography and JWT stuff. Instead the id_token is
signed using the client secret, which allows verification by the client,
since it's a shared secret per OpenID Connect Core 1.0 § 10.1 under
Symmetric Signatures.
OpenID Connect Discovery 1.0 has a lot of REQUIRED and MUST clauses that
are not supported here, but that's okay because this is served from the
RFC 8414 OAuth 2.0 Authorization Server Metadata .well-known endpoint!
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 30 Apr 2023 16:13:40 +0200 |
parent | 4577:253df0798996 |
rev | line source |
---|---|
4577
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 # Flowcharts! |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 Put this module somewhere Prosody will find it and then run |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 `prosodyctl mod_discodot | dot -Tsvg -o disco-graph.svg` to receive a |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 graph like this[^1]: |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 +------------------------+ +------------------------------------------+ |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 | proxy.external.example | <-- | VirtualHost "example.com" | -+ |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 +------------------------+ +------------------------------------------+ | |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 | | |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 | | |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 v | |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 +------------------------------------------+ | |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 | Component "conference.example.com" "muc" | <+ |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 +------------------------------------------+ |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 Example config for the above: |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 ``` {.lua} |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 VirtualHost "xmpp.example.com" |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 disco_items = { |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 { "conference.example.com"; }; |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 { "proxy.external.example"; }; |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 } |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 Component "conference.example.com" "muc" |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 ``` |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 Note the `disco_items` entry causing duplication since subdomains are |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 implicitly added. |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 |
253df0798996
mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 [^1]: this was actuall made with `graph-easy` |