Replies: 3 comments 2 replies
-
Yeah, this is because it's based on the "traditional" model of OAuth/OpenID where clients are preregistered at IdPs (e.g. you had to go register as a developer on Google's developer console in order to build a "sign in with google" button), so the IdP does have this information for the RPs. This came up for me when I built the prototype of the IndieAuth integration where RPs do not have a prior relationship with IdPs. Here's an issue that's tracking the request: |
Beta Was this translation helpful? Give feedback.
-
Hmm yeah I can see there benefit to a feature where the RP provides the PP/TOS via the JS call. Because at least right now this is all we get from the client metadata endpoint, we could just skip it altogether. Note that we had been considering adding a feature to this endpoint to check whether the IdP accepts this RP to avoid showing UI if this is not a permitted RP, so if/when we do that, the endpoint would not be skipped. |
Beta Was this translation helpful? Give feedback.
-
Beyond what was already said, I think it is worth noting that I think this was purely "sequencing strategy" rather than "privacy violation". By that I mean: having the PP/TOS provided by JS seems like an extension to FedCM that wouldn't require it to violate any of the privacy requirements, so seems plausible to me. So, I think the question actually is: does anyone need this (for real production users)? Or is this a hypothetical? |
Beta Was this translation helpful? Give feedback.
-
According to the current specs, the IdP is required to provide a link to at least the privacy policy of the RP via the client_metadata_endpoint .
However, this is information that the IdP does not necessarily have (why should the IdP care where the privacy policy of the RP is located) and which can change at any time without any control of the IdP. Thus, the IdP needs to either ask the RP about this URL for every request or ask less frequently and risk providing outdated information.
Wouldn't it be better to have the RP supply links to the privacy policy and the terms of service during the get() call? It is the authoritative source and knows when this information changes. Providing the information like this would also eliminate at least one HTTP request and the corresponding overhead.
Am I missing something? Thanks for the explanation!
Beta Was this translation helpful? Give feedback.
All reactions