-
Notifications
You must be signed in to change notification settings - Fork 8
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
WIP: Allow auto security scheme for other permitted security schemes #314
base: main
Are you sure you want to change the base?
Conversation
I don't think so, "security negotiation" for interaction affordances (as per the
That is the intent of the current assertions:
I do acknowledge this is confusing though because it conflates "security schemes" in the general sense (applied to the authentication of a Thing Description) with "security schemes" in the specific sense of In general I think we need to more clearly distinguish between the security requirements for accessing a Thing Description vs. the security requirements of Forms. Perhaps separate sub-sections would help:
|
Going to change this to non-draft. Propose we merge this and discuss and resolve points 2 and 3 in new issues/PRs. |
Arch call on Dec 7th: |
@mlagally do you mean a formal objection? I do not think that W3C formal objection applies to individual PRs related to specwork. If only my opinion is enough, I do not see the reason to include this. My main reason that any feature you are putting in a normative W3C technical report needs 2 implementations. Given that we are struggling to find implementations, I think it is a bad idea to increase the implementation requirements and thus the effort. The issue linked to this PR has literally no information on why this is needed. |
What actually needs to be implemented to support "automatic negotiation" for the BasicSecurityScheme and OAuth2SecurityScheme? Section 5.3.3.3 of the TD spec only provides a reference for Basic Authentication, and I'm not even sure it's linking to the right RFC. |
Regarding Ben's question about implementation, negotiation is how HTTP normally works, so implementation is trivial (in fact required if you are implementing HTTP according to its spec). What "auto" really means is that no information is provided in advance in the TD, it has to be discovered dynamically using normal HTTP mechanisms. This is also to address a security consideration - there are some cases when you don't want to advertise the security mechanism used in advance (e.g. to discourage people scanning for vulnerabilities). However, I would like to restrict HTTP negotiation to only the "permitted" subset. If we just add auto to the "permitted" list it opens it up to ANYTHING supported by HTTP. |
@mmccool wrote:
OK, so if I understand correctly the Consumer would need to support Out of interest though, how does automatic security negotiation work for the According to section 7.1.2 of the WoT Discovery specification:
In an out-of-the-box discovery type scenario, how would a Consumer find the URL of an authentication server if it isn't provided in the Thing Description?
Side note: this sounds like security by obscurity, which I would generally not recommend. * Technically HTTP Basic authentication can also use the |
WIP: Needs some cleanup and rebasing to be relevant.
Resolves #313
I will hold this PR in "draft" state until we resolve points 2 and 3.
Preview | Diff