Skip to content

Commit a619299

Browse files
committed
Cleaned remaining references to mfa-capable as capability
1 parent bfcf237 commit a619299

File tree

2 files changed

+10
-32
lines changed

2 files changed

+10
-32
lines changed

IETF-RFC.md

+9-8
Original file line numberDiff line numberDiff line change
@@ -402,9 +402,13 @@ If `multi` is given, one or more protocol
402402
- `read` allows read-only access including download of a copy.
403403
- `write` allows create, update, and delete rights on the resource.
404404
- `share` allows re-share rights on the resource.
405-
- `mfa-enforced` requires the user accessing the resource to be
406-
MFA-authenticated. This permission MAY be used if the
407-
provider exposes the `mfa-capable` capability.
405+
* OPTIONAL requirements (array of strings) -
406+
The requirements that the sharee MUST fulfill to access the resource. A subset of:
407+
- `mfa-enforced` requires the consumer to be MFA-authenticated. This
408+
MAY be used if the recipient provider exposes the `enforce-mfa` capability.
409+
- `use-code` requires the consumer to exchange the given `code` via a
410+
signed HTTPS request. This MAY be used if the recipient provider exposes
411+
the `receive-code` capability.
408412
* OPTIONAL uri (string)
409413
An URI to access the remote resource. The URI MAY be relative,
410414
in which case the prefix exposed by the `/ocm-provider` endpoint MUST
@@ -423,9 +427,6 @@ If `multi` is given, one or more protocol
423427
- `view` allows access to the web app in view-only mode.
424428
- `read` allows read and download access via the web app.
425429
- `write` allows full editing rights via the web app.
426-
- `mfa-enforced` requires the user accessing the resource to be
427-
MFA-authenticated. This permission MAY be used if the
428-
provider exposes the `mfa-capable` capability.
429430
* OPTIONAL sharedSecret (string)
430431
An optional secret to be used to access the remote web app,
431432
for example in the form of a bearer token.
@@ -496,7 +497,7 @@ To access the Resource, the Receiving Server MAY use multiple ways, depending on
496497

497498
In all cases, in case the Shared Resource is a folder and the Receiving Server accesses a resource within that shared folder, it SHOULD append its relative path to that URL. In other words, the Sending Server SHOULD support requests to URLs such as `https://<sender-host><sender-ocm-path>/path/to/resource.txt`.
498499

499-
Additionally, if `protocol.<protocolname>.requirements` includes `mfa-enforced`, the Receiving Server MUST ensure that the Receiving Party has been authenticated with MFA.
500+
Additionally, if `protocol.<protocolname>.requirements` includes `mfa-enforced`, the Receiving Server MUST ensure that the Receiving Party has been authenticated with MFA, or prompt the consmer in order to elevate their session, if applicable.
500501

501502
# Share Deletion
502503
A `"SHARE_ACCEPTED"` notification followed by a `"SHARE_UNSHARED"` notification is
@@ -515,7 +516,7 @@ The details of the payload and side effects such a notification may have are out
515516
Note that the Receiving Party sending such a notification has no way of knowing if the Sending Party understood and processed the reshare request or not.
516517

517518
# Appendix A: Multi Factor Authentication
518-
If a Receiving Server exposes the capability `/mfa-capable`, it indicates that it will try and comply with a MFA requirement set on a Share. If the Sending Server trusts the Receiving Server, the Sending Server MAY set the requirement `mfa-enforced` on a Share, which the Receiving Server MUST honor. A compliant Receiving Server that signals that it is MFA-capable MUST not allow access to a resource protected with the `mfa-enforced` requirement, if the Receiving Party has not provided a second factor to establish their identity with greater confidence.
519+
If a Receiving Server exposes the capability `enforce-mfa`, it indicates that it will try and comply with a MFA requirement set on a Share. If the Sending Server trusts the Receiving Server, the Sending Server MAY set the requirement `mfa-enforced` on a Share, which the Receiving Server MUST honor. A compliant Receiving Server that signals that it is MFA-capable MUST not allow access to a resource protected with the `mfa-enforced` requirement, if the Receiving Party has not provided a second factor to establish their identity with greater confidence.
519520

520521
Since there is no way to guarantee that the Receiving Server will actually enforce the MFA requirement, it is up to the Sending Server to establish a trust with the Receiving Server such that it is reasonable to assume that the Receiving Server will honor the MFA requirement. This establishment of trust will inevitably be implementation dependent, and can be done for example using a pre approved allow list of trusted Receiving Servers. The procedure of establishing trust is out of scope for this specification: a mechanism similar to the [ScienceMesh](https://sciencemesh.io) integration for the [Invite](#invite-flow) capability may be envisaged.
521522

spec.yaml

+1-24
Original file line numberDiff line numberDiff line change
@@ -117,26 +117,6 @@ paths:
117117
type: string
118118
schema:
119119
$ref: "#/definitions/Error"
120-
/mfa-capable:
121-
get:
122-
summary: Inform the sender that the provider will enforce MFA requirements.
123-
description: >
124-
Signal that this OCM provider has the capability to enforce MFA when accessing
125-
remote shares.
126-
A sender MAY set the permission `mfa-enforced` on a share to this provider:
127-
when a consumer attempts to access such a share, the consumer server SHOULD
128-
enforce, prior to access, that a session exists for the consumer and that
129-
it has been authenticated with MFA, or prompt the consumer in order to
130-
elevate their session to MFA if that is applicable.
131-
Note: there is no guarantee that the consumer service actually enforces any MFA
132-
requirements, so a trust must be established before relying on this capability.
133-
responses:
134-
"200":
135-
description: |
136-
The provider claims that it is capable of enforcing MFA requirements.
137-
"404":
138-
description: |
139-
The provider does not have the capability to enforce MFA requirements.
140120
/notifications:
141121
post:
142122
summary: Send a notification to a remote party about a previously known entity
@@ -597,10 +577,7 @@ definitions:
597577
- `view` allows access to the web app in view-only mode.
598578
- `read` allows read and download access via the web app.
599579
- `write` allows full editing rights via the web app.
600-
- `mfa-enforced` requires the user accessing the resource to be
601-
MFA-authenticated. This permission MAY be used if the
602-
provider exposes the `mfa-capable` capability.
603-
enum: ["view", "read", "write", "mfa-enforced"]
580+
enum: ["view", "read", "write"]
604581
sharedSecret:
605582
type: string
606583
description: |

0 commit comments

Comments
 (0)