-
Notifications
You must be signed in to change notification settings - Fork 56
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
FedCM multi IDP support #803
Comments
@rhiaro @atanassov and I took a look at this today in our virtual f2f. We had some minor concerns but it appears that the CG is already aware of those and is working on solutions. We're happy to see this move forward. |
Hey TAG, I wanted to reopen this issue based on discussion during BlinkOn (and the suggestion by @slightlyoff), where we presented some ideas on how to solve multi IdP support. The key constraints about the solution space are:
So we have some ideas on how to go about this:
In order to enable RP to state their preference of some IdPs, we also have some ideas:
Does TAG have an opinion on the solutions presented, or any other alternative? |
I can't reopen issues here it seems, so appreciate it if someone can reopen on my behalf. Thanks! |
Hi @npm1, really sorry it's taken us so long to get back around to this issue. Since several months have passed, could you update if you've made any progress on the questions you posed? Which route seems the most promising to you at this point? |
Hi, are current plan is to first solve a subset of the problem: allowing multiple providers in a single Having said that, we have not made much progress on the other question, which is how to aggregate the providers from multiple |
We discussed this in our call today. It seems like a good solution from a UX perspective would be if the IDPs are loaded dynamically, but without causing layout shifts in the content of the webpage (we all hate when a button we were about to click on is suddenly displaced from under our pointer). Have you thought about making this part of the browser chrome, rather than the site? Essentially moving the rendering responsibilities from the RP to the user agent. User agents have historically had horrible UX with basic auth and certificate auth, it would be good for users if the UA could play a more active, and consitent, role in managing logged in state and UX for all forms of authentication. This implies creating other APIs beyond FedCM to handle other forms of authentication, but they could have a uniform UX. Do you think this is a direction you could see FedCM going in, in the future? |
That is how the API works today. The current API lets the user agent take control over the UI shown for a single
Yes, this is indeed the direction FedCM is going in. This also enables future work like reconciling different authentication choices (password/federation/passkeys) in a single user agent UI. |
It looks like the explainer link is 404ing. Where'd it move to? |
It moved to the issue https://github.com/fedidcg/FedCM/issues/319#issuecomment-1270753874. The explainer is a bit more detailed in that it talks about an onload heuristic (idea 2 above) but it turned out to be not performant enough (delays showing too much). I can write something up if that is too unclear. |
Heads up: we are moving big FedCM features to their own repos to organize our incubations better, so I updated the explainer and GitHub URLs above. |
Wotcher TAG!
I'm requesting a TAG review of FedCM multi IDP support.
The Federated Credential Management (FedCM) API is a Web Platform API which allows users to login to websites with their federated accounts in a privacy preserving manner. Currently, it only supports a single identity provider (IDP) at a time. Users can only login with their federated accounts from a single IDP at a time. With multi IDP support, we want to allow users to login with their federated accounts from a set of IDPs at a time.
Further details:
You should also know that the initial FedCM TAG review is here. We're requesting a review specifically on the multi IDP design.
We'd prefer the TAG provide feedback as (please delete all but the desired option):
💬 leave review feedback as a comment in this issue and @-notify @npm1
The text was updated successfully, but these errors were encountered: