Skip to content

Commit 5ea407d

Browse files
committed
Expanded description of a Directory Service and corresponding JSON payload
1 parent f0b4100 commit 5ea407d

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

IETF-RFC.md

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@ unique at the server. `<fqdn>` is the Fully Qualified Domain Name by which the s
8888
* __Share Name__ - a human-readable string, provided by the Sending Party or the Sending Server, to help the Receiving Party understand which Resource the Share grants access to
8989
* __Share Permissions__ - protocol-specific allowances granted to the Receiving Party on the modes of accessing the Resource
9090
* __Share Requirements__ - protocol-specific restrictions on the modes of accessing the Resource
91-
* __WAYF Page__ - a Where-Are-You-From page is a discovery service used to identify the OCM Server of an Invite Receiver.
91+
* __WAYF Page__ - a Where-Are-You-From page is a discovery service used to identify the OCM Server of an Invite Receiver
92+
* __Directory Service__ - a third-party service that exposes a list of trusted OCM Servers
9293

9394
# General Flow
9495
The lifecycle of an Open Cloud Mesh Share starts with prerequisites such as
@@ -152,12 +153,29 @@ Since the Invite Flow does not require either Party to type or remember the `use
152153

153154
Also, a different `userID` could be given out to each contact, to avoid correlation of identities.
154155

155-
If the inviteAcceptDialog uses a WAYF page, it MAY consist of a fixed list of servers, in addition to, or instead of, a free-text input where any OCM server can be entered. This is especially useful if the Invite Sender is part of a network of associated OCM Servers. The Invite Sender's server MAY use a central database to store the fixed list of OCM servers. In that case the central database MUST be exposed as a JSON document.
156-
* The format of the JSON document must be an array of objects, with the following fields:
157-
* REQUIRED: `url` - the OCM Server's FQDN.
158-
* REQUIRED: `displayName` - a human-readable name for the OCM Server.
156+
If the Invite Sender OCM Server implements a WAYF Page, it MAY consist of a fixed list of servers, in addition to, or instead of, a free-text input where any OCM server can be entered. This is especially useful if the Invite Sender is part of a federation of associated OCM Servers. In order to populate the list of associated OCM Servers, the Invite Sender's server MAY use a Directory Service: in that case, the Directory Service MUST expose, via anonymous HTTP GET, a JSON document with the following format:
157+
* REQUIRED: `federation` - a human-readable name for the list of OCM Servers exposed by the Directory Service
158+
* REQUIRED: `servers` - a JSON array of objects to describe the list of OCM Servers with the following string fields:
159+
* REQUIRED: `url` - the OCM Server's FQDN
160+
* REQUIRED: `displayName` - a human-readable name for the OCM Server
161+
Example:
162+
```json
163+
{
164+
"federation" : "The ScienceMesh Directory",
165+
"servers" : [
166+
{
167+
"url" : "https://ocm-server-1.fqdn",
168+
"displayName" : "OCM Server 1"
169+
},
170+
{
171+
"url" : "https://ocm-server-2.fqdn",
172+
"displayName" : "OCM Server 2"
173+
}
174+
]
175+
}
176+
```
159177

160-
Implementors that provide a WAYF Page SHOULD make the URL for the API endpoint of such a central database configurable, allowing the OCM Server to be part of a network of associated OCM Servers. The configuration mechanism MAY allow an OCM Server to be part of multiple networks, thus displaying a union of multiple lists in its WAYF Page.
178+
Implementors that provide a WAYF Page SHOULD make the URL for the API endpoint of such a Directory Service configurable, allowing the OCM Server to be part of a network of associated OCM Servers. The configuration mechanism MAY allow an OCM Server to be part of multiple networks, thus displaying a union of multiple lists in its WAYF Page.
161179

162180
### Invite Acceptance Response Details
163181
The Invite Acceptance Response SHOULD be a HTTP response:

0 commit comments

Comments
 (0)