Software /
code /
prosody
File
spec/scansion/pubsub_createdelete.scs @ 12997:0a56b84ec4ad
mod_tokenauth: Support for creating sub-tokens
Properties of sub-tokens:
- They share the same id as their parent token
- Sub-tokens may not have their own sub-tokens (but may have sibling tokens)
- They always have the same or shorter lifetime compared to their parent token
- Revoking a parent token revokes all sub-tokens
- Sub-tokens always have the same JID as the parent token
- They do not have their own 'accessed' property - accessing a sub-token
updates the parent token's accessed time
Although this is a generic API, it is designed to at least fill the needs of
OAuth2 refresh + access tokens (where the parent token is the refresh token
and the sub-tokens are access tokens).
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sun, 26 Mar 2023 16:46:48 +0100 |
parent | 9291:329a670ae975 |
line wrap: on
line source
# Pubsub: Create and delete [Client] Romeo jid: admin@localhost password: password // admin@localhost is assumed to have node creation privileges --------- Romeo connects Romeo sends: <iq type="set" to="pubsub.localhost" id='create1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <create node="princely_musings"/> </pubsub> </iq> Romeo receives: <iq type="result" id='create1'/> Romeo sends: <iq type="set" to="pubsub.localhost" id='create2'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <create node="princely_musings"/> </pubsub> </iq> Romeo receives: <iq type="error" id='create2'> <error type="cancel"> <conflict xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/> </error> </iq> Romeo sends: <iq type="set" to="pubsub.localhost" id='delete1'> <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> <delete node="princely_musings"/> </pubsub> </iq> Romeo receives: <iq type="result" id='delete1'/> Romeo sends: <iq type="set" to="pubsub.localhost" id='delete2'> <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> <delete node="princely_musings"/> </pubsub> </iq> Romeo receives: <iq type="error" id='delete2'> <error type="cancel"> <item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/> </error> </iq> Romeo disconnects // vim: syntax=xml: