**Security Issue with the idea of login to multiple SPs at once.
As Peter said, this has been asked for only several times and there IS a reason for this. WITH, an authentication is an IMPLIED INTENT TO ACCESS, USE, or perform SOME action, that IS SPECIFIC TO ONE SP...
Not only is one login to may NOT NEEDED, it is also RIDICULOUSLY DUMB for what that IS, IN BEING ONE login to multiple locations WHERE, the TRUST relationship is based on ANOTHER SP, TO and FROM which there is NO ESTABLISHED RELATIONSHIP!
EACH SP, other than where AN SP, that is among many FOR ONE COMPANY, should be INDEPENDENT of any other as, ONE, does not have and need not KNOW, you are signed in elsewhere, and yet THEY KNOW NOT, by which specific credentials and UNIQUE ACCOUNT that is a
REGISTERED USER at the SPECIFIC SP.
FOR an IDP,,, TO, assert TO a handful of other ancillary SPs, it must then have STORED, the IDENTS assigned BY those SPs which means THAT IDP, knows ALL AND EVERY, has the IDENTs in DATA, and UNLESS the development and architecture is 100% secure, a BREACH
OF ANY ONE SP, would mean access to ALL AND EVERY account you have elsewhere...
THAT, is NOT and never has been PROPER design for anything as it is ONE set of credentials for access to more than one SITE.
A Company HAS THE MEANS TO DO THIS already IF, they set the SimpleSaml IDP up to be the IDENTITY PROVIDER for their AAD with an OnPremAD and ADDsync. OR, even if they only have AAD in Azure. AS the identity provider IN ADFS, the APPS that CAN BE ACCESSED
with ONE CLICK are the APPS set up by the Company IN Azure. IE: The OFFFICE 365 LANDING PAGE. MiniOrange ALSO has an IDP that CAN accept SimpleSAML asserts and redirect back in with an APPS panel for one click TO OTHER SPs in the MiniOrange Portal.
BOTH, also allow A user in that system TO SIGN IN, with SAML, and then once back, ALSO PASS FORWARD to those others with OAUTH, and KERBOS etc.
Please take no offense here, but SimpleSAML is NOT where you put a PORTAL that is the GO ANYWHERE or APP Central, or, Store all the credentials. SimpleSAML is the PROTOCOL for what IT does that is the FUNCTION for which it is designed and the OTHER has nothing
to do with that.
YOU CAN HOWEVER, use SimpleSaml in and to send assertions from ANY SP that you code, TO, and ENDPOINT SOLUTION you code that HAS those functions...
SAML is a protocol, NOT AN application.
The APPLICATION stated prior to Peter's comment IS NOT a protocol.
I will state this from a SECURITY PERSPECTIVE:
Trust a FaceBook, Google, or ANY OTHER BULK FREE PUBLIC ACCOUNT systems ASSERTED USER as YOUR USER, and you are not thinking Security AT ALL.
They forward you a GUID as if that is SOMEONE YOU CAN TRUST. Not even they know if that is a end user or, a bot generated user that is a bot..
IF, your COMPANY and for auto login to assets controlled BY your company and assets ALLOWED by the company then sure, you can write one. Put that on the public Internet??? YOU CANNOT afford the fees you will be charged in a breach or the lawsuits that breach
WILL create.
AS TO THE "massive UX" issues... SAML REDIRECTS DO NOT EVEN REQUIRE UI, unless the SPECIFIC IDP that is in the path of all of those HAS SOME SPECIFIC function those PRIOR, DO NOT HAVE. It is SEAMLESS and fast.
AS TO logging in AT the IDP, and then going somewhere: THAT, was a MISTAKE we made decades back in trying to solve knowing who the end user was..
The REDIRECT URI, is TO FIX that mistake IF USED properly.
ANY IDP, that is on PUBLIC INTERNET, should NOT ALLOW IDP DIRECT LOGIN! USERS should be required to hit AN SP, so the IP, Device, Allowed Login Times, and phone etc, CAN BE KNOWN and CHECKED before sending them to where the HACKERS can CRACK AT THE PASSWORD
direct AT the IDP.
ADFS, Domain Joined computer, Allowed login time, they entered an EMAIL or IDENT that is found, and IF THOSE OTHERS ALL LINE UP > Sent with an assertion, and assertion IS required and ONLY IF the REDIRECT URI from a REGISTERED SP is sent AND, the account exists
AT THE IDP side, THEN > ALL ELSE HAS BEEN CHECKED, THE IP at IDP, damn sure better match that sent FROM ADFS, the machine name also CAN be sent, as can THE O/S version etc... and IF THE USER HITTING THE IDP is coming from another IP > or O/S the SP did not
provide in the assertion BODY attribute elements,,, BYE, HAVE A NICE DAY Mr/Mrs HACKER and thanks for playing!
I would say that the ONLY TIME a single IDP login should even remotely be considered IS > when it is a company end user, accessing a system that is NOT PUBLIC, and or ACCESSABLE, unless they are ON that network or IN A VPN, when remote.
Even then, Signing in at one and being logged in at ALL,,, MAY SEEM EASIER for the End User but that DOES NOT JUSTIFY the additional traffic and resource usages AT those other SPs and the ENDPOINTS behind them that DO NOT GET USED during the login SESSION.
IT IS, in this case as DUMB to do as were you to run the entire house unlocking every window and door to only go out or look out of one door or window.
ONLY, open connections to RESOURCES you INTEND TO USE, and your logging servers, will not have 50 unneeded events every time there should only be ONE.
Plus, the things you missed in the concept of redirection passthru to multiple other SPs, and a RATHER HARD CARVED IN STONE FACT,,, if that redirect is handed to 1, 2, 3, 4, 5, 6, 7, 8, 9 and then the LAST SP #10,,, and there is ANY latency/outage of one before
10,,, YOU WON'T GET THERE!
IF, in similar fashion you send that way a post to LOG OFF, then any one in the chain that is out, WILL LEAVE YOU SIGNED IN to any after.
This, WILL result in several PAINFUL MASSIVE impacts OPEN sessions FAILED sessions logs that are 5, 10 20 times as huge, COSTS for storing those in space and traffic, and IMPOSSIBLE TO TROUBLESHOOT situations IN a breach incident investigation when you are
trying to chase ONE of however many UNUSED connections that were established.
It JUST IS NOT SECURE BY DESIGN...
The COSTs and TIME expense TO develop a secure solution that COULD > Cannot be justified when for an E3 subscription for Office 365, OR, licensing of a product that DOES portal to provide a simple link are as cheap as they are per user with all the OTHER network,
application layer, WAF, etc, so they can sign in once and click a link there. IN AN APP, that LITERALLY HAS nothing to do with SimpleSAML other than for the login.
I ENCOURAGE ALL, to grasp the concept that ONLY FROM and with an assertion SENT from an SP, should anyone ever see the login page at the IDP.
Once logged in and returned to the ENDPOINT, then YOU CAN render an assertion back TO the IDP with the redirect TO THE IDP, for the user to then manage the account on the IDP... OTHER THAN FOR DEV, exposing that login at the IDP without an assertion from the
SP, means ALL I NEED IS YOUR EMAIL entered there TO PWN your account AND, via that everything that IDP is for.
IF, there is any legitimate requirement for login AT THE IDP for access TO the IDP by admin or end user for account maintenance there, SET UP AN SP, FOR that.
Make it ASSERTION REQUIRED at IDP from a LEGIT registered SP, and that cuts 95% plus out of random hacks ever even hitting it.
MAKE any ADMIN functions at the IDP to where allowed ONLY FROM an INTERNAL SP, and they cannot hit that PAM level, AT ALL.
I also advise that SHOULD you do a massive redirect path that you REFRAIN from any SPs that you do not OWN/CONTROL, or you are injecting a dependency that can PREVENT ANY ACCESS internal SHOULD the Internet be out OR, that SP not be reachable...
FAIL BACK to internal. ONLY path redirects to those YOU control.
ELSE, plan for endless outages.
Been there, done that,
Trust me here! After having done SAML "stuff" pre-oasis effort and since in the early 2000s, THAT GETS REALLY nasty FAST!
-Brian