File

spec/scansion/extdisco.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 11753:c4599a7c534c
line wrap: on
line source

# XEP-0215: External Service Discovery

[Client] Romeo
	password: password
	jid: user@localhost/mFquWxSr

-----

Romeo connects

Romeo sends:
	<iq type='get' xml:lang='sv' id='lx2' to='localhost'>
		<services xmlns='urn:xmpp:extdisco:2'/>
	</iq>

Romeo receives:
	<iq type='result' id='lx2' from='localhost'>
		<services xmlns='urn:xmpp:extdisco:2'>
			<service host='default.example' transport='udp' port='9876' type='stun'/>
			<service port='9876' type='turn' restricted='1' password='yHYYBDN7M3mdlug0LTdJbW0GvvQ=' transport='udp' host='default.example' username='1219525744'/>
			<service port='9876' type='turn' restricted='1' password='1Uc6QfrDhIlbK97rGCUQ/cUICxs=' transport='udp' host='default.example' username='1219525744'/>
			<service port='2121' type='ftp' restricted='1' password='password' transport='tcp' host='default.example' username='john'/>
			<service port='21' type='ftp' restricted='1' password='password' transport='tcp' host='ftp.example.com' username='john'/>
		</services>
	</iq>

Romeo sends:
	<iq type='get' xml:lang='sv' id='lx3' to='localhost'>
		<services xmlns='urn:xmpp:extdisco:2' type='ftp'/>
	</iq>

Romeo receives:
	<iq type='result' id='lx3' from='localhost'>
		<services xmlns='urn:xmpp:extdisco:2'>
			<service port='2121' type='ftp' restricted='1' password='password' transport='tcp' host='default.example' username='john'/>
			<service port='21' type='ftp' restricted='1' password='password' transport='tcp' host='ftp.example.com' username='john'/>
		</services>
	</iq>

Romeo sends:
	<iq type='get' xml:lang='sv' id='lx4' to='localhost'>
		<credentials xmlns='urn:xmpp:extdisco:2'>
			<service host='default.example' type='turn'/>
		</credentials>
	</iq>

Romeo receives:
	<iq type='result' id='lx4' from='localhost'>
		<credentials xmlns='urn:xmpp:extdisco:2'>
			<service port='9876' type='turn' restricted='1' password='yHYYBDN7M3mdlug0LTdJbW0GvvQ=' transport='udp' host='default.example' username='1219525744'/>
			<service port='9876' type='turn' restricted='1' password='1Uc6QfrDhIlbK97rGCUQ/cUICxs=' transport='udp' host='default.example' username='1219525744'/>
		</credentials>
	</iq>

Romeo sends:
	<iq type='get' xml:lang='sv' id='lx5' to='localhost'>
		<credentials xmlns='urn:xmpp:extdisco:2'>
			<service host='default.example' />
		</credentials>
	</iq>

Romeo receives:
	<iq type='error' id='lx5' from='localhost'>
		<error type='modify'>
			<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
		</error>
	</iq>

Romeo disconnects

# recording ended on 2020-07-18T16:47:57Z