-
Notifications
You must be signed in to change notification settings - Fork 75
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
Use of .well-known folder location #160
Comments
Putting
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig
|
Oh, interesting. We've been looking around for docs and everything we found pointed to it being at the root. So, having prior art for this is good to know. |
Oh, that is indeed good to know. @timcappalli do you know if that's a valid construction for |
In my experience, protocols that leverage well-known define the behavior in the protocol spec. Some examples:
|
I'm pretty sure that an author of RFCs 8615 & 5785 would say that it is not a valid construction for |
I would definitely recommend picking a less-misleading prefix; well-known URLs are a specific thing, origin-wide, and reusing their prefix for something that doesn't work like that would be really confusing for web developers. It's a shame some other API has done that, but we should not follow their bad example. Of course it'd be ideal if you could have one IDP per origin. But if that's not an acceptable constraint, then that basically means well-known is not appropriate. Probably then instead of supplying origins and appending /.well-known/fedcm, you should just have people supply URLs of config files. |
I agree with using something other than well-known; as the RFC 8615 introduction indicates: “...for data or services related to the origin overall...”, the intent is for it to be used for origin-general metadata and applying it to what’s described in this use-case seems to go against that intent. Seems like there should be something FedCM specific, perhaps referred to in a well-known resource to make it discoverable. |
So it seems that our use of
+1, that seems like a good starting point. I'll start by using something specific, like, Updating the spec here. |
I'm going to tentatively resolve this issue here with the following PR that has been merged: Feel free re-open if you disagree with the resolution (and/or have a better suggestion/recommendation). Thanks all! |
Having been involved in the early days of .well-known, it was intended as a discovery path for IdPs -- so it is confusing why it was concluded it was misleading. As an IdP -- yet another metadata directory / file in a different place is a security headache and something that can easily be gotten wrong. @samuelgoto |
I missed that comment -- @dickhardt , the reason to switch away from well-known is that some IdPs need to put their manifest into a subfolder. And well-known in a subfolder does not make sense. However, you should feel free to still put your file into well-known for your IDP, you just have to specify "https://foo.com/.well-known/" as the provider. |
@cbiesinger assuming by provider, you also mean the Microsoft already puts .well-known into a subfolder -- their IdP has a subdirectory as the |
I did not mean anything in the ID token, I meant the FedCM API call, ie. well-known is specified to be in the root (https://www.rfc-editor.org/rfc/rfc8615.html#section-3), so we did not want to perpetuate misuse like Microsoft's here. Adding @domenic in case he has anything to add. |
For RPs, the provider and the issuer are equivalent. I would find using While I agree that Microsoft's use is a misuse -- they industry has accepted it for OP discovery. All the other IdPs have a 'normal' .well-known discovery. Is there another IdP that requires resolution to a directory rather than a hostname? Also, @cbiesinger can we re-open this issue? |
This isn't how we are expecting it to work. You'd call: navigator.credentials.get(federated: {providers: [{url: "https://foo.com/subfolder"}]}) Which the browser would fetch two files:
You don't need to use a subfolder, and we can probably make the API simpler/cleaner when you don't and use only your |
Above @cbiesinger is suggesting that I would need to have the provider URI include the
From a SecOps point of view, I want to minimize how many places I have critical metadata. Having it all in .well-known is great. So to clarify, an RP can just call And I can have my metadata at Correct? I see that you are still including the |
We have converged on requiring a well-known file in the root of the eTLD+1 for privacy reasons. We are discussing allowing specifying this via DNS instead (#580) but we can't relax the requirement to specify this once per eTLD+1. |
FedCM API currently uses the
.well-known/fedcm
folder in order to find the endpoint configuration. The.well-known
folder is specified as only existing in the root folder (e.g.https://idp.example.com/.well-known/fedcm
).The question has come up, is that acceptable for IDPs?
corp.example.com/idp1
,corp.example.com/idp2
).well-known/fedcm
folder in the root of their domain?The text was updated successfully, but these errors were encountered: