-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
clarify merging of essential policy operators #110
clarify merging of essential policy operators #110
Conversation
met, this MUST result in a policy error. | ||
Operator value merge: The result of merging the values of two | ||
<spanx style="verb">essential</spanx> operators is the logical | ||
disjunction (<spanx style="verb">OR</spanx>) of the operator values. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The proposed replacement is not equivalent.
The (inclusive) logical disjunction of:
- Superior policy: essential=true
- Subordinate policy: essential=false
is: essential=true
For the above condition the spec (last sentence in paragraph) describes a policy violation error, not a successful merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wasn't completely sure what should be done in this case, but I agree that as it is currently phrased this is the most likely meaning (and you confirmed it).
However, the spec also states that
If the essential operator is omitted, this is equivalent to including it with a value of
false
.
Therefore, I believe my suggestion is the only feasible approach. Otherwise either omitting is not the same as providing essential=false
, or essential=true
could not be merged, only if all entities provide essential=true
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shows that we have a bug in the essential
spec. Good catch!
Would you be able to add the customary history entry to this PR?
Examples here:
https://openid.net/specs/openid-federation-1_0-39.html#appendix-D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The history entry will be added separately. Thanks!
As noted in my issue #11 I think the current phrasing on merging the
essential
policy operator is not clear enough.This is my proposal on how to simplify the phrasing, as I think the semantic should be.