Skip to content

Commit 5a5abb1

Browse files
spec(ocm): clarify invite formats (#282)
* spec(ocm): clarify invite formats - Define invite string as canonical format - Require implementations to accept string format - Define link format as optional Signed-off-by: Micke Nordin <[email protected]> * Update IETF-RFC.md Co-authored-by: Giuseppe Lo Presti <[email protected]> * Rephrased the requirements to use the two formats --------- Signed-off-by: Micke Nordin <[email protected]> Co-authored-by: Giuseppe Lo Presti <[email protected]>
1 parent ceb6096 commit 5a5abb1

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

IETF-RFC.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,8 @@ characters.
184184
* __Invite Token__ - A hard-to-guess string used in the Invite Flow,
185185
generated by the Invite Sender OCM Server and linked uniquely to the
186186
Invite Sender's OCM Address.
187+
* __Invite String__ - A base64 encoded string containing an Invite Token
188+
and the FQDN of an Invite Sender OCM Server joined by an `@`-sign.
187189
* __Invite Creation Gesture__ - Gesture from the Invite Sender to the
188190
Invite Sender OCM Server, resulting in the creation of an Invite
189191
Token.
@@ -411,6 +413,39 @@ Share Creation events.
411413
Both parties MAY delete the other party from their address book at any
412414
time without notifying them.
413415

416+
### Invite format
417+
To accept an invite, two pieces of information are required: a `token`
418+
and a `provider`. There are two recognized formats:
419+
420+
* **Invite string format:**
421+
A base64-encoded string containing the token and the provider’s FQDN,
422+
joined by an `@` sign. Example:
423+
424+
If the `token` is `a55a966e-15c1-4cb9-a39d-4e4c54399baf` and the
425+
`provider` is `my-cloud-storage.org`, the combined string is
426+
427+
which when base64-encoded becomes
428+
`YTU1YTk2NmUtMTVjMS00Y2I5LWEzOWQtNGU0YzU0Mzk5YmFmQG15LWNsb3VkLXN0b
429+
3JhZ2Uub3Jn`.
430+
431+
When parsing an invite string, implementors must base64-decode it,
432+
then split on the last `@` sign, taking care to allow multiple `@`
433+
characters in the token part.
434+
435+
* **Link format:**
436+
If the inviting OCM Server supports a WAYF page, the invite may be
437+
provided as a link with the token as a request parameter. Example:
438+
439+
`https://my-cloud-storage.org/wayf?token=
440+
a55a966e-15c1-4cb9-a39d-4e4c54399baf`
441+
442+
Implementations MUST be able to accept invites in the invite string
443+
format. This format is considered canonical. The link format is only
444+
useful if the Receiving OCM Server exposes the `inviteAcceptDialog`
445+
in its Discovery endpoint. Implmentations SHOULD support the link
446+
format when they implement a WAYF Page that leverages those
447+
`inviteAcceptDialog` targets.
448+
414449
### Security Advantages
415450

416451
It is important to underscore the value of the Invite in this scenario,

0 commit comments

Comments
 (0)