public class SamlSPFilter extends Object implements javax.servlet.Filter
Filter that implements a service provider for SAML SSO (web profile).
Code originally taken from picketlink-federation. Copied here to avoid waiting
for a picketlink upgrade. Changes made will be contributed back to picketlink
and this filter will be removed when possible.| Modifier and Type | Field and Description |
|---|---|
protected String |
canonicalizationMethod |
protected String |
configFile |
protected String |
identityURL |
protected org.picketlink.config.federation.PicketLinkType |
picketLinkConfiguration |
protected String |
serviceURL |
protected org.picketlink.config.federation.SPType |
spConfiguration |
| Constructor and Description |
|---|
SamlSPFilter() |
| Modifier and Type | Method and Description |
|---|---|
protected org.picketlink.identity.federation.saml.v2.protocol.ResponseType |
decryptAssertion(org.picketlink.identity.federation.saml.v2.protocol.ResponseType responseType) |
void |
destroy() |
void |
doFilter(javax.servlet.ServletRequest servletRequest,
javax.servlet.ServletResponse servletResponse,
javax.servlet.FilterChain filterChain) |
Principal |
handleSAMLResponse(javax.servlet.http.HttpServletRequest request,
org.picketlink.identity.federation.saml.v2.protocol.ResponseType responseType)
Handle the SAMLResponse from the IDP
|
void |
init(javax.servlet.FilterConfig filterConfig) |
protected void |
isTrusted(String issuer) |
protected void |
sendRequestToIDP(org.picketlink.identity.federation.saml.v2.protocol.AuthnRequestType authnRequest,
String relayState,
javax.servlet.http.HttpServletResponse response) |
protected void |
sendToDestination(Document samlDocument,
String relayState,
String destination,
javax.servlet.http.HttpServletResponse response,
boolean request) |
protected boolean |
validate(javax.servlet.http.HttpServletRequest request) |
protected boolean |
verifySignature(org.picketlink.identity.federation.core.saml.v2.common.SAMLDocumentHolder samlDocumentHolder) |
protected org.picketlink.config.federation.SPType spConfiguration
protected org.picketlink.config.federation.PicketLinkType picketLinkConfiguration
protected String configFile
protected String serviceURL
protected String identityURL
protected String canonicalizationMethod
public void destroy()
destroy in interface javax.servlet.Filterpublic void doFilter(javax.servlet.ServletRequest servletRequest,
javax.servlet.ServletResponse servletResponse,
javax.servlet.FilterChain filterChain)
throws IOException,
javax.servlet.ServletException
doFilter in interface javax.servlet.FilterIOExceptionjavax.servlet.ServletExceptionpublic void init(javax.servlet.FilterConfig filterConfig)
throws javax.servlet.ServletException
init in interface javax.servlet.Filterjavax.servlet.ServletExceptionprotected void sendRequestToIDP(org.picketlink.identity.federation.saml.v2.protocol.AuthnRequestType authnRequest,
String relayState,
javax.servlet.http.HttpServletResponse response)
throws IOException,
SAXException,
GeneralSecurityException
protected void sendToDestination(Document samlDocument, String relayState, String destination, javax.servlet.http.HttpServletResponse response, boolean request) throws IOException, SAXException, GeneralSecurityException
protected boolean validate(javax.servlet.http.HttpServletRequest request)
throws IOException,
GeneralSecurityException
IOExceptionGeneralSecurityExceptionprotected boolean verifySignature(org.picketlink.identity.federation.core.saml.v2.common.SAMLDocumentHolder samlDocumentHolder)
throws org.picketlink.common.exceptions.fed.IssuerNotTrustedException
org.picketlink.common.exceptions.fed.IssuerNotTrustedExceptionprotected void isTrusted(String issuer) throws org.picketlink.common.exceptions.fed.IssuerNotTrustedException
org.picketlink.common.exceptions.fed.IssuerNotTrustedExceptionprotected org.picketlink.identity.federation.saml.v2.protocol.ResponseType decryptAssertion(org.picketlink.identity.federation.saml.v2.protocol.ResponseType responseType)
public Principal handleSAMLResponse(javax.servlet.http.HttpServletRequest request, org.picketlink.identity.federation.saml.v2.protocol.ResponseType responseType) throws org.picketlink.common.exceptions.ConfigurationException, org.picketlink.common.exceptions.fed.AssertionExpiredException
request - entire request from IDPresponseType - ResponseType that has been generatedserverEnvironment - tomcat,jboss etcorg.picketlink.common.exceptions.fed.AssertionExpiredExceptionorg.picketlink.common.exceptions.ConfigurationExceptionCopyright © 2013-2014 JBoss, a division of Red Hat. All Rights Reserved.