Um Provedor de Identidade (IdP) manipula a autenticação em um banco de dados ou servidor LDAP e passa as informações do usuário para um aplicativo = Provedor de Serviços (SP).
Suponho que você queira usar a implementação do Provedor de Serviços fornecida pelos criadores do Shibboleth (apelidado de shibboleth-sp) conversando com um IdP do Shibboleth.
Isso funciona especificando quais recursos devem ser protegidos na configuração do servidor da web e aumentando os parâmetros passados a aplicação pelos atributos solicitados de o IdP pelo SP. Esses atributos devem ser liberados pelo IdP para o SP solicitante (attribute-filter.xml) e deve significar algo para o aplicativo. O IdP não faz controle de acesso, o aplicativo deve decidir como ele interpreta os parâmetros recebido do IdP.
Então, você tem um aplicativo que pode conversar diretamente com um IdP (via SAML2, por exemplo, Liferay EE) ou você usa o shibboleth-sp e usa os atributos para mapear um usuário para o modelo de papéis do aplicativo.
Um caso básico seria semelhante ao uso da Autenticação HTTP, desativando a autenticação no aplicativo e usando o parâmetro REMOTE_USER para identificar o usuário. Outros dados podem ser recuperados pelo aplicativo em seus armazenamentos de dados.
Visão geral: link