Comparison

plugins/mod_tokenauth.lua @ 12662:07424992d7fc

mod_authz_internal, and more: New iteration of role API These changes to the API (hopefully the last) introduce a cleaner separation between the user's primary (default) role, and their secondary (optional) roles. To keep the code sane and reduce complexity, a data migration is needed for people using stored roles in 0.12. This can be performed with prosodyctl mod_authz_internal migrate <host>
author Matthew Wild <mwild1@gmail.com>
date Wed, 17 Aug 2022 16:38:53 +0100
parent 12649:86e1187f6274
child 12742:126aefd2c4c6
comparison
equal deleted inserted replaced
12661:1c391c17a907 12662:07424992d7fc
8 8
9 local function select_role(username, host, role) 9 local function select_role(username, host, role)
10 if role then 10 if role then
11 return prosody.hosts[host].authz.get_role_by_name(role); 11 return prosody.hosts[host].authz.get_role_by_name(role);
12 end 12 end
13 return usermanager.get_user_default_role(username, host); 13 return usermanager.get_user_role(username, host);
14 end 14 end
15 15
16 function create_jid_token(actor_jid, token_jid, token_role, token_ttl) 16 function create_jid_token(actor_jid, token_jid, token_role, token_ttl)
17 token_jid = jid.prep(token_jid); 17 token_jid = jid.prep(token_jid);
18 if not actor_jid or token_jid ~= actor_jid and not jid.compare(token_jid, actor_jid) then 18 if not actor_jid or token_jid ~= actor_jid and not jid.compare(token_jid, actor_jid) then