<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">I’m attempting to configure shibboleth version 3.3.3.1 to use JAAS for user authentication on Window Server 2016 using the bundled Jetty server.  I can see from the log files and network captures that the initial binding to the Active Directory
 server is successful.  When I attempt to authenticate a test user account using testshib.org I receive an error message on the login page.  The error message is a long java error similar to the below error message entered into the log files. 
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">From the network traces I can see that the authentication request is never sent to the Active Directory servers for authentication.  In the log files I can see that its showing authentication failed.  Here is the relevant portion of the
 log files showing the failure and an informational message that shows invalid syntax with idp.home.  I’ve attempted to search for this error message and have not been able to find anything that matches this error message.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">2018-09-20 09:11:59,733 - DEBUG [net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstJAAS:243] - Profile Action ValidateUsernamePasswordAgainstJAAS: Attempting to authenticate user 'shibstu0101' via 'ShibUserPassAuth'<o:p></o:p></p>
<p class="MsoNormal">2018-09-20 09:11:59,734 - DEBUG [net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstJAAS:339] - Profile Action ValidateUsernamePasswordAgainstJAAS: Using custom JAAS configuration type JavaLoginConfig with parameters of type java.security.URIParameter<o:p></o:p></p>
<p class="MsoNormal">2018-09-20 09:11:59,780 - INFO [net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstJAAS:254] - Profile Action ValidateUsernamePasswordAgainstJAAS: Login by 'shibstu0101' via 'ShibUserPassAuth' failed<o:p></o:p></p>
<p class="MsoNormal">javax.security.auth.login.LoginException: java.lang.IllegalArgumentException: Invalid property syntax: idp.home<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.PropertyValueParser.initializeProperties(PropertyValueParser.java:124)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.PropertyValueParser.initialize(PropertyValueParser.java:106)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.CredentialConfigParser.<init>(CredentialConfigParser.java:59)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.SslConfigPropertyInvoker.convertValue(SslConfigPropertyInvoker.java:54)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.AbstractPropertyInvoker.setProperty(AbstractPropertyInvoker.java:166)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.AbstractPropertySource.initializeObject(AbstractPropertySource.java:163)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.SslConfigPropertySource.initialize(SslConfigPropertySource.java:106)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.ConnectionConfigPropertySource.initialize(ConnectionConfigPropertySource.java:124)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.DefaultConnectionFactoryPropertySource.initialize(DefaultConnectionFactoryPropertySource.java:120)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.AuthenticatorPropertySource.initConnectionFactoryManager(AuthenticatorPropertySource.java:207)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.props.AuthenticatorPropertySource.initialize(AuthenticatorPropertySource.java:152)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.jaas.PropertiesAuthenticatorFactory.createAuthenticatorInternal(PropertiesAuthenticatorFactory.java:80)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.jaas.PropertiesAuthenticatorFactory.createAuthenticator(PropertiesAuthenticatorFactory.java:59)<o:p></o:p></p>
<p class="MsoNormal">                at org.ldaptive.jaas.LdapLoginModule.initialize(LdapLoginModule.java:103)<o:p></o:p></p>
<p class="MsoNormal">                at java.base/javax.security.auth.login.LoginContext.invoke(Unknown Source)<o:p></o:p></p>
<p class="MsoNormal">                at java.base/javax.security.auth.login.LoginContext.access$000(Unknown Source)<o:p></o:p></p>
<p class="MsoNormal">                at java.base/javax.security.auth.login.LoginContext$4.run(Unknown Source)<o:p></o:p></p>
<p class="MsoNormal">                at java.base/javax.security.auth.login.LoginContext$4.run(Unknown Source)<o:p></o:p></p>
<p class="MsoNormal">                at java.base/java.security.AccessController.doPrivileged(Native Method)<o:p></o:p></p>
<p class="MsoNormal">                at java.base/javax.security.auth.login.LoginContext.invokePriv(Unknown Source)<o:p></o:p></p>
<p class="MsoNormal">                at java.base/javax.security.auth.login.LoginContext.login(Unknown Source)<o:p></o:p></p>
<p class="MsoNormal">                at net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstJAAS.authenticate(ValidateUsernamePasswordAgainstJAAS.java:351)<o:p></o:p></p>
<p class="MsoNormal">                at net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstJAAS.doExecute(ValidateUsernamePasswordAgainstJAAS.java:245)<o:p></o:p></p>
<p class="MsoNormal">                at net.shibboleth.idp.authn.AbstractAuthenticationAction.doExecute(AbstractAuthenticationAction.java:98)<o:p></o:p></p>
<p class="MsoNormal">                at org.opensaml.profile.action.AbstractProfileAction.execute(AbstractProfileAction.java:117)<o:p></o:p></p>
<p class="MsoNormal">                at net.shibboleth.idp.profile.AbstractProfileAction.doExecute(AbstractProfileAction.java:154)<o:p></o:p></p>
<p class="MsoNormal">                at net.shibboleth.idp.profile.AbstractProfileAction.execute(AbstractProfileAction.java:126)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.State.enter(State.java:194)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.Transition.execute(Transition.java:228)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.State.enter(State.java:194)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.Transition.execute(Transition.java:228)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:231)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.ViewState.resume(ViewState.java:195)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.Flow.resume(Flow.java:537)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:253)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)<o:p></o:p></p>
<p class="MsoNormal">                at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)<o:p></o:p></p>
<p class="MsoNormal">                at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772)<o:p></o:p></p>
<p class="MsoNormal">                at net.shibboleth.idp.log.SLF4JMDCServletFilter.doFilter(SLF4JMDCServletFilter.java:72)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)<o:p></o:p></p>
<p class="MsoNormal">                at net.shibboleth.utilities.java.support.net.RequestResponseContextFilter.doFilter(RequestResponseContextFilter.java:61)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)<o:p></o:p></p>
<p class="MsoNormal">                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)<o:p></o:p></p>
<p class="MsoNormal">                at net.shibboleth.utilities.java.support.net.CookieBufferingFilter.doFilter(CookieBufferingFilter.java:68)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.Server.handle(Server.java:539)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:251)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)<o:p></o:p></p>
<p class="MsoNormal">                at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)<o:p></o:p></p>
<p class="MsoNormal">                at java.base/java.lang.Thread.run(Unknown Source)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                at java.base/javax.security.auth.login.LoginContext.invoke(Unknown Source)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Mike Rochford<o:p></o:p></p>
<p class="MsoNormal">IT Manager<o:p></o:p></p>
<p class="MsoNormal">Stark State College<o:p></o:p></p>
<p class="MsoNormal"><a href="mailto:mrochford@starkstate.edu">mrochford@starkstate.edu</a><o:p></o:p></p>
<p class="MsoNormal">330-494-6170 x 4244<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>