Quantcast
Channel: VMware Communities: Message List
Viewing all articles
Browse latest Browse all 231887

java sdk vcloudclient ssoLogin() w/ samlassertion

$
0
0

Hello,

 

I am attempting to login using the java sdk's vCloudClient ssoLogin method.  I have configured a vcd organization to use a saml idp (openam) and can successfully login with an account from the idp to the organization via the web interface.  Now, I am attempting use the issued saml assertion to perform a login via the sdk using the samlAssertionXML String.  Appreciate any insight someone could provide.

 

The client receives a 500 error:

 

Aug 12, 2013 3:10:14 PM com.vmware.vcloud.sdk.RestUtil login

INFO: Login URL - https://vcdcell01.jlvc2020.jten.mil/api/sessions

Aug 12, 2013 3:10:14 PM com.vmware.vcloud.sdk.RestUtil login

INFO: Status Code - 500

Aug 12, 2013 3:10:14 PM com.vmware.vcloud.sdk.RestUtil login

INFO: Status - Server Error

Aug 12, 2013 3:10:14 PM com.vmware.vcloud.sdk.RestUtil login

INFO: Response -

Aug 12, 2013 3:10:14 PM com.vmware.vcloud.sdk.Response isExpected

INFO: Expected Status Code - 200

Aug 12, 2013 3:10:14 PM com.vmware.vcloud.sdk.Response isExpected

INFO: Actual Status Code - 500

 

and the server reports a nullpointer:

 

2013-08-12 16:00:23,414 | DEBUG| pool-jetty-63       | SignLoginFilter          | Error creating SAMLResponse element. |

java.lang.NullPointerException

at com.vmware.vcloud.security.web.SignLoginFilter.createSamlResponse(SignLoginFilter.java:275)
at com.vmware.vcloud.security.web.SignLoginFilter.authenticate(SignLoginFilter.java:200)
at com.vmware.vcloud.security.web.SignLoginFilter.doFilter(SignLoginFilter.java:449)
at com.vmware.vcloud.api.rest.diagnostics.RestApiDiagnosticsInterceptor.doFilter(RestApiDiagnosticsInterceptor.java:129)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at com.vmware.vcloud.api.rest.versioning.AcceptHeaderFilter.doFilter(AcceptHeaderFilter.java:108)
at com.vmware.vcloud.api.rest.diagnostics.RestApiDiagnosticsInterceptor.doFilter(RestApiDiagnosticsInterceptor.java:129)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at com.vmware.vcloud.security.web.ConversationFilter$1.run(ConversationFilter.java:39)
at com.vmware.vcloud.security.web.ConversationFilter$1.run(ConversationFilter.java:37)
at com.vmware.vcloud.common.persist.ConversationContextExecutor.execute(ConversationContextExecutor.java:67)
at com.vmware.vcloud.security.web.ConversationFilter.doFilter(ConversationFilter.java:45)
at com.vmware.vcloud.api.rest.diagnostics.RestApiDiagnosticsInterceptor.doFilter(RestApiDiagnosticsInterceptor.java:129)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at com.vmware.vcloud.security.web.ThreadLocalCleanerFilter.doFilter(ThreadLocalCleanerFilter.java:65)
at com.vmware.vcloud.api.rest.diagnostics.RestApiDiagnosticsInterceptor.doFilter(RestApiDiagnosticsInterceptor.java:129)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:77)
at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:181)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:349)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449)
at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:910)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
at org.eclipse.jetty.server.ssl.SslSocketConnector$SslConnectorEndPoint.run(SslSocketConnector.java:665)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
at java.lang.Thread.run(Unknown Source)

 

I have a unit test w/ a manually captured saml assertion, where the assertion looks like the one in the attached saml-assertion.txt file.

 

The method simply takes in a string and attempts to login with a VcloudClient, see ssologin.txt.


Viewing all articles
Browse latest Browse all 231887

Trending Articles