Software /
code /
prosody
File
spec/scansion/basic_roster.scs @ 12938:055b03d3059b
util.sasl.oauthbearer: Return username from callback instead using authzid (BC)
RFC 6120 states that
> If the initiating entity does not wish to act on behalf of another
> entity, it MUST NOT provide an authorization identity.
Thus it seems weird to require it here. We can instead expect an
username from the token data passed back from the profile.
This follows the practice of util.sasl.external where the profile
callback returns the selected username, making the authentication module
responsible for extracting the username from the token.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 16 Mar 2023 12:18:23 +0100 |
parent | 9305:f14c81fd44a4 |
line wrap: on
line source
# Basic roster test [Client] Romeo jid: user@localhost password: password [Client] Juliet jid: juliet@localhost password: password --------- Romeo connects Juliet connects Romeo sends: <presence/> Romeo receives: <presence from="${Romeo's full JID}" /> Romeo sends: <iq type="get" id="roster1"> <query xmlns='jabber:iq:roster'/> </iq> Romeo receives: <iq type="result" id="roster1"> <query ver='{scansion:any}' xmlns="jabber:iq:roster"/> </iq> # Add nurse to roster Romeo sends: <iq type="set" id="roster2"> <query xmlns="jabber:iq:roster"> <item jid='nurse@localhost'/> </query> </iq> # Receive the roster add result Romeo receives: <iq type="result" id="roster2"/> # Receive the roster push Romeo receives: <iq type="set" id="{scansion:any}"> <query xmlns='jabber:iq:roster' ver='{scansion:any}'> <item jid='nurse@localhost' subscription='none'/> </query> </iq> Romeo sends: <iq type="result" id="fixme"/> # Fetch the roster, it should include nurse now Romeo sends: <iq type="get" id="roster3"> <query xmlns='jabber:iq:roster'/> </iq> Romeo receives: <iq type="result" id="roster3"> <query xmlns='jabber:iq:roster' ver="{scansion:any}"> <item subscription='none' jid='nurse@localhost'/> </query> </iq> Romeo disconnects