Чтобы выполнить SSO, инициированную SP, вам нужно, чтобы был только один провайдер идентификации, к которому вам, возможно, нужно было бы отправлять запросы аутентификации, или вам нужны какие-то средства определения подходящего провайдера идентификации для конкретного пользователя - либо пользователь должен предоставить некоторую информацию, идентифицирующую IdP (например, как StackOverflow, когда вы хотите войти в систему, используя свой Google или другой идентификатор), либо в URL-адрес может быть что-то встроено. (Для приложения, над которым я работаю, разные клиенты имеют свои собственные доменные сайты, поэтому IdP сопоставляются с ними.)
Так что, да, если вы собираетесь идти по пути, инициированному SP, вам нужно будет сделать запрос аутентификации в IdP, чтобы определить, кто пользователь, и вы захотите использовать RelayState, чтобы вернуть его к первоначально запрашиваемая страница. Если они уже аутентифицированы в IdP, то, скорее всего, этот обмен будет происходить без участия пользователя.