/ / controlla solo SAML autenticato, non inoltrare - java, spring, spring-security, saml, spring-saml

controlla solo SAML autenticato, non inoltrare - java, spring, spring-security, saml, spring-saml

Sto usando la libreria spring-security-saml2 perautenticare il mio utente contro un IDP SAML. Funziona bene, ma ora mi piacerebbe solo controllare se un utente è autenticato con quell'IdP (ed evitare un inoltro automatico per chiedere all'utente le credenziali).

Il caso d'uso è che voglio aggiungere altre abitudinimeccanismi di autenticazione, e solo in avanti verso una pagina di accesso una volta che tutti i meccanismi non sono riusciti. Quindi mi piacerebbe verificare la presenza di una sessione SAML attiva, in caso contrario, controllare tramite OAuth, ..., se non autenticato da nessuna parte, inoltrare l'utente a una pagina di accesso.

Questo è possibile con la libreria spring-security-saml2 così com'è o dovrei forarla / cambiarla?

risposte:

0 per risposta № 1

È possibile sincronizzare le sessioni SAML http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf. Ma sarà più facile se fai la tua sessione (con un piccolo timeout e resetta il timeout di ogni richiesta) dopo che ti sei reindirizzato dall'idp (auhtn request response success)


0 per risposta № 2

Si può aggiungere il isPassive attribuire a una richiesta di autenticazione SAML per ottenere il comportamento che si sta cercando. Questo è controllato chiamando setPassive(true) sul WebSSOProfileOptions oggetto, come mostrato in https://github.com/spring-projects/spring-security-saml/blob/master/core/src/test/java/org/springframework/security/saml/websso/WebSSOProfileHoKImplTest.java#L263.