Mercurial > prosody-modules
annotate mod_unsubscriber/mod_unsubscriber.lua @ 5715:8488ebde5739
mod_http_oauth2: Skip consent screen if requested by client and same scopes already granted
This follows the intent behind the OpenID Connect 'prompt' parameter
when it does not include the 'consent' keyword, that is the client
wishes to skip the consent screen. If the user has already granted the
exact same scopes to the exact same client in the past, then one can
assume that they may grant it again.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 14 Nov 2023 23:03:37 +0100 |
parents | e00dc913d965 |
children |
rev | line source |
---|---|
5168
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 assert(module:get_host_type() == "component", "This module should be loaded as a Component"); |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 local st = require "util.stanza"; |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 module:hook("presence/bare", function(event) |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 local origin, stanza = event.origin, event.stanza; |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 if stanza.attr.type == "probe" then |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 -- they are subscribed and want our current presence |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 -- tell them we denied their subscription |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 local reply = st.reply(stanza) |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 reply.attr.type = "unsubcribed"; |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 origin.send(reply); |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 return true; |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 elseif stanza.attr.type == nil then |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 -- they think we are subscribed and sent their current presence |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 -- tell them we unsubscribe |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 local reply = st.reply(stanza) |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 reply.attr.type = "unsubcribe"; |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 origin.send(reply); |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 return true; |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 end |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 -- fall trough to default error |
e00dc913d965
mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 end); |