I have a SaaS app (App), and it has established SAML trust relationships with two of our clients, Acme and Foo.
Acme users log in to App through an IdP-initiated flow. Foo users also log in to App through an IdP-initiated flow. Accounts in App are identified by email address, say firstname.lastname@example.org and email@example.com.
A bad actor at Acme decides to create an account in their IdP identified by firstname.lastname@example.org. Then the bad actor tries to sign in to App with that account (an account called "email@example.com" that lives in Acme's IdP). How do I prevent that?
In other words, I want the trust relationship between App and Acme to be limited only to accounts @acme.com, and the trust relationship between App and Foo to be limited only to accounts @foo.com.
In other other words, if Acme's IdP tries to authenticate a user that "belongs" to Foo's IdP, then I don't want to authenticate that user.