Software /
code /
prosody
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 |