Genera la risposta/asserzione SAML in Java
Domanda
Sto lavorando all'autenticazione iniziata con IDP. Voglio generare la risposta SAML da inviare a Salesforce. Ho i valori necessari da impostare nella risposta dai metadati. Per favore dimmi le classi OpenSAML da utilizzare per generare risposta/asserzione.
Soluzione
Di seguito sono riportate le classi principali che verranno utilizzate.
Asserzione
Firma
Soggettoconfirmationdata
Nomeid
Materia
Condizioni
Pubblico
AuthnContextClassRef
Autenticazione
Vedi questo per le librerie OpenSAML collegamento
Altri suggerimenti
Se stai cercando di creare asserzioni SAML e vuoi alcuni metodi di convenienza che ti aiuteranno a gestire la libreria OpenSAML, puoi dare un'occhiata al Saml2ComponentBuilder di WSS4J. Questo è ampiamente utilizzato in Apache CXF e in altre pile di servizi Java.
Creare un'affermazione è facile come:
//Create assertion
Assertion assertion = SAML2ComponentBuilder.createAssertion();
//create issuer
Issuer issuer = SAML2ComponentBuilder.createIssuer(issuerString);
assertion.setIssuer(issuer);
Ovviamente puoi impostare tutti i valori sopra descritti e c'è un "AssertionWrapper" a condizione che gli assist nella firma digitalmente l'asserzione:
AssertionWrapper.signassertion (alias, password, firmazione, falso, default CanonicaliscationalGorithm, defaultrSasignatureLgorithm);
Vale la pena esaminare se hai difficoltà a trattare direttamente con la libreria OpenSAML.
Grazie, Yogesh