-
Notifications
You must be signed in to change notification settings - Fork 12
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
Federation type information at discovery endpoint #94
Conversation
I definitely support the idea, an improvement/simplification for the two cases follows.
And the assumption remains that in the absence of this |
Agreed! I initially came up with a JSON object similar to your idea but then asked myself "What if the provider doesn't want to disclose its trusted parties?" So |
Understood. I also thought about "is this about disclosing information without the other party's consent", and if I don't see issues with a directory's URL (after all it's there to be well known), the concern applies to specific domains where EFSSs are hosted. At this point I'm thinking, if not too wild, to have a response that depends on the client making the request:
|
I agree. so it needs mutual consent. the admins of the parties should agree on showing this kind of info on their respective servers. So we can have 3 possible cases for the
This is also interesting, for example in cases 2 and 3 from above, some hidden domains only are shown to the requests coming from trusted parties. so the outcome would be:
I think we can remove Returned JSON in case of trusting everyone: "federation": {
"domains" : ["*"],
} It can also have directories if the provider admin wants to "federation": {
"domains" : ["*"],
"directories": [
"https://government.gov",
"https://hospital.net",
]
} Returned JSON in case of trusting closed networks: "federation": {
"domains": [
"restricted"
],
"directories": [
"https://iop.sciencemesh.uni-muenster.de/iop/mentix/cs3"
]
} or just: "federation": {
"domains": [
"restricted"
]
} |
RIght, you made a fair summary, and after all if the different options are described in terms of Then whether to drop |
Hm, but until now we have always done requests to I think I like the original proposal of 'open'/'closed', and would even just stop there. If it says 'closed' then it means "don't expect me to accept your shares unless you have reason to believe otherwise", and if it says 'open' it means "go ahead, try me, unless you're blacklisted, your shares will probably arrive". There may be a few other options, such as "open after invite", "open if signed", etc. Requirements a receiving server may have:
Note that a blacklisted spam server could still send unsigned request with a fake |
So I would suggest federation types:
And note that if federation type includes 'whitelist' then in theory there is no need for a |
Hmm actually going down to just With the usual replace of black/white to deny/allow, we can just have an array of essentially any values out of |
This PR change to OCM spec allows the OCM service to let others know if it trusts all servers (hence the type
open
) or only servers from a (or multiple)directory
(s) (hence the typeclosed)
.In addition to that, an instance MAY decide to trust domains outside of directories too.
Returned JSON in case of trusting everyone:
Returned JSON in case of trusting closed networks:
I don't like the names
open
andclosed
but I cannot think of anything better.