<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Share + Alfresco with SSO in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265930#M219060</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Been watching your case in jira &lt;A href="https://issues.alfresco.com/jira/browse/ALF-8758" rel="nofollow noopener noreferrer"&gt;https://issues.alfresco.com/jira/browse/ALF-8758&lt;/A&gt;, and I just cant see how this works in Share.&lt;BR /&gt;Browsing &lt;A href="http://localhost:8080/alfresco" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/alfresco&lt;/A&gt; I get logged in as admin&lt;BR /&gt;Browsing &lt;A href="http://localhost:8080/share" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/share&lt;/A&gt; -Not automatically logged in, redirected to forms login.&lt;BR /&gt;What am I missing?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;hello all, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i have the same problem,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://localhost:8080/alfresco" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/alfresco&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp; can easy login,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but &lt;/SPAN&gt;&lt;A href="http://localhost:8080/share" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/share&lt;/A&gt;&lt;SPAN&gt; web site is down,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i am using alfresco SSO with cookie&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://stackoverflow.com/questions/7517122/alfresco-sso-with-cookie" rel="nofollow noopener noreferrer"&gt;http://stackoverflow.com/questions/7517122/alfresco-sso-with-cookie&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;anyone can help?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 15 May 2012 01:17:00 GMT</pubDate>
    <dc:creator>cling09</dc:creator>
    <dc:date>2012-05-15T01:17:00Z</dc:date>
    <item>
      <title>Share + Alfresco with SSO</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265926#M219056</link>
      <description>All,I'm integrating Alfresco and Share with an SSO system that uses a reverse proxy and a filter that creates a header with the user's id and creates the UserPrincipal object with the user's Id.&amp;nbsp; This works great for Alfresco, however Share isn't working.&amp;nbsp; When I access share a few things happen:1.&amp;nbsp;</description>
      <pubDate>Tue, 17 May 2011 15:18:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265926#M219056</guid>
      <dc:creator>mboorshtein</dc:creator>
      <dc:date>2011-05-17T15:18:27Z</dc:date>
    </item>
    <item>
      <title>Re: Share + Alfresco with SSO</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265927#M219057</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;up&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I do have the same kind of problems.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;While trying to login to Share via SSO (Shibboleth uses SAML) I have theses Exceptions thrown :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;org.springframework.extensions.surf.exception.UserFactoryException: Unable to retrieve user from repository&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.support.AlfrescoUserFactory.loadUser(AlfrescoUserFactory.java:188)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.support.AbstractUserFactory.initialiseUser(AbstractUserFactory.java:176)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.support.AbstractUserFactory.initialiseUser(AbstractUserFactory.java:99)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.RequestContextUtil.initialiseUser(RequestContextUtil.java:203)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.RequestContextUtil.populateRequestContext(RequestContextUtil.java:176)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.RequestContextUtil.populateRequestContext(RequestContextUtil.java:131)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.mvc.AbstractWebFrameworkView.populateRequestContext(AbstractWebFrameworkView.java:349)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.mvc.AbstractWebFrameworkView.renderMergedOutputModel(AbstractWebFrameworkView.java:259)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:617)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:717)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:74)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fr.cvf.web.site.servlet.CVFSSOAuthenticationFilter.doFilter(CVFSSOAuthenticationFilter.java:343)&lt;BR /&gt;cause mère&lt;BR /&gt;&lt;BR /&gt;org.json.JSONException: A JSONObject text must begin with '{' at character 8&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.json.JSONTokener.syntaxError(JSONTokener.java:413)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.json.JSONObject.&amp;lt;init&amp;gt;(JSONObject.java:180)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.json.JSONObject.&amp;lt;init&amp;gt;(JSONObject.java:420)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.support.AlfrescoUserFactory.loadUser(AlfrescoUserFactory.java:182)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.support.AbstractUserFactory.initialiseUser(AbstractUserFactory.java:176)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.support.AbstractUserFactory.initialiseUser(AbstractUserFactory.java:99)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.RequestContextUtil.initialiseUser(RequestContextUtil.java:203)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.RequestContextUtil.populateRequestContext(RequestContextUtil.java:176)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.RequestContextUtil.populateRequestContext(RequestContextUtil.java:131)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.mvc.AbstractWebFrameworkView.populateRequestContext(AbstractWebFrameworkView.java:349)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.extensions.surf.mvc.AbstractWebFrameworkView.renderMergedOutputModel(AbstractWebFrameworkView.java:259)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:617)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:717)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:74)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fr.cvf.web.site.servlet.CVFSSOAuthenticationFilter.doFilter(CVFSSOAuthenticationFilter.java:343)&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Everything works perfectly on Explorer but not on Share and while I am debugging, it seems everything work fine for the Authentication part (see the bold part near the end) :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;private void challengeOrPassThrough(FilterChain chain, HttpServletRequest req, HttpServletResponse res, HttpSession session) throws IOException, ServletException&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // In this mode we can only use vaulted credentials. Do not proxy any request headers.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connector conn = connectorService.getConnector(this.endpoint, AuthenticationUtil.getUserId(req), session);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ConnectorContext ctx = new ConnectorContext();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response remoteRes = conn.call("/touch", ctx);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Status.STATUS_UNAUTHORIZED == remoteRes.getStatus().getCode())&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (logger.isDebugEnabled())&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Repository session timed out - restarting auth process…");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String authHdr = remoteRes.getStatus().getHeaders().get(HEADER_WWWAUTHENTICATE);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (authHdr != null)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // restart SSO login as the repo has timed us out&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; restartAuthProcess(session, req, res, authHdr);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // restart manual login&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; session.invalidate();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; redirectToLoginPage(req, res);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // we have local auth in the session and the repo session is also valid&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // this means we do not need to perform any further auth handshake&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (logger.isDebugEnabled())&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Authentication not required, chaining …");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt; chain.doFilter(req, res); =&amp;gt; my breakpoint stops here and then it's impossible to know what's comming next&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (ConnectorServiceException cse)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new PlatformRuntimeException("Incorrectly configured endpoint ID: " + this.endpoint);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Info : this code is part of the CVFSSOAuthenticationFilter class that is an exact copy of SSOAuthenticationFilter class used by default in Share.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It shows that the user coming from our SSO seems to be authenticated as "Authentication not required" message inside the method says.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you by advance for your help&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 May 2011 15:41:34 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265927#M219057</guid>
      <dc:creator>bbougon</dc:creator>
      <dc:date>2011-05-24T15:41:34Z</dc:date>
    </item>
    <item>
      <title>Re: Share + Alfresco with SSO</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265928#M219058</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Finnaly I have a solution (for an Alfresco Share / SSO authentication with Shibboleth).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First you have to set this two variables in your external-authentication.properties :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;external.authentication.proxyHeader=X-Alfresco-Remote-User&lt;BR /&gt;external.authentication.proxyUserName&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Then you have to configure your shibboleth (shibboleth2.xml) as followed :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;Host name="HOSTNAME" authType="shibboleth" applicationId="APPLICATION_ID" requireSession="true" &amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Path name="wcs" requireSession="false" /&amp;gt;&lt;BR /&gt;&amp;lt;/Host&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;The path means your shibboleth authentication won't be call when pointing to the folder wcs (ie HOSTNAME/wcs).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A brief explanation of the problem :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;While we were trying to connect to Share via Shibboleth we noticed that during all the authentication process (after calling the wcs/webframework/content/metadata?user=MY_NAME) a redirection was done to shibboleth (That's the reason why we had this Json exception thrown : org.json.JSONException: A JSONObject text must begin with '{' at character 8…) and the result returned was like &amp;lt;html&amp;gt;&amp;lt;body&amp;gt;… Some messages… =&amp;gt; not the Json data awaited by Share!!!.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Actually it is the default shibboleth processing (that's why we say we do not want any Shibboleth process pointing in wcs directory).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;hope this will help&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 May 2011 14:21:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265928#M219058</guid>
      <dc:creator>bbougon</dc:creator>
      <dc:date>2011-05-25T14:21:47Z</dc:date>
    </item>
    <item>
      <title>Re: Share + Alfresco with SSO</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265929#M219059</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Been watching your case in jira &lt;/SPAN&gt;&lt;A href="https://issues.alfresco.com/jira/browse/ALF-8758" rel="nofollow noopener noreferrer"&gt;https://issues.alfresco.com/jira/browse/ALF-8758&lt;/A&gt;&lt;SPAN&gt;, and I just cant see how this works in Share.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;To test this, I have in alfresco-global.properties&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;external.authentication.proxyUserName=&lt;BR /&gt;external.authentication.proxyHeader=X-Alfresco-Remote-User&lt;BR /&gt;external.authentication.enabled=true&lt;BR /&gt;external.authentication.userIdPattern=&lt;BR /&gt;authentication.chain=external1:external,alfrescoNtlm1:alfrescoNtlm&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Then I use Firefox with Modify-Headers plugin, setting X-Alfresco-Remote-User to admin.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Browsing &lt;/SPAN&gt;&lt;A href="http://localhost:8080/alfresco" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/alfresco&lt;/A&gt;&lt;SPAN&gt; I get logged in as admin&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Browsing &lt;/SPAN&gt;&lt;A href="http://localhost:8080/share" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/share&lt;/A&gt;&lt;SPAN&gt; -Not automatically logged in, redirected to forms login.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Also tried setting the share-custom-config.xml and the alfresco endpoint &amp;lt;external-auth&amp;gt;true&amp;lt;/external-auth&amp;gt;, neither true or false makes you SSO:ed in Share.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What am I missing? The case was closed, so apparently it works, but I cannot see how. The wiki article&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems#External" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems#External&lt;/A&gt;&lt;SPAN&gt; talks about the need of setting the REMOTE_USER cgi variable, but do not understand how.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For Share external SSO to work, doesn't it need to be able to pick up the user id from a Header variable and pass it on?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 May 2011 15:41:13 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265929#M219059</guid>
      <dc:creator>loftux</dc:creator>
      <dc:date>2011-05-25T15:41:13Z</dc:date>
    </item>
    <item>
      <title>Re: Share + Alfresco with SSO</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265930#M219060</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Been watching your case in jira &lt;A href="https://issues.alfresco.com/jira/browse/ALF-8758" rel="nofollow noopener noreferrer"&gt;https://issues.alfresco.com/jira/browse/ALF-8758&lt;/A&gt;, and I just cant see how this works in Share.&lt;BR /&gt;Browsing &lt;A href="http://localhost:8080/alfresco" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/alfresco&lt;/A&gt; I get logged in as admin&lt;BR /&gt;Browsing &lt;A href="http://localhost:8080/share" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/share&lt;/A&gt; -Not automatically logged in, redirected to forms login.&lt;BR /&gt;What am I missing?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;hello all, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i have the same problem,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://localhost:8080/alfresco" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/alfresco&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp; can easy login,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but &lt;/SPAN&gt;&lt;A href="http://localhost:8080/share" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/share&lt;/A&gt;&lt;SPAN&gt; web site is down,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i am using alfresco SSO with cookie&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://stackoverflow.com/questions/7517122/alfresco-sso-with-cookie" rel="nofollow noopener noreferrer"&gt;http://stackoverflow.com/questions/7517122/alfresco-sso-with-cookie&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;anyone can help?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 May 2012 01:17:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265930#M219060</guid>
      <dc:creator>cling09</dc:creator>
      <dc:date>2012-05-15T01:17:00Z</dc:date>
    </item>
    <item>
      <title>Re: Share + Alfresco with SSO</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265931#M219061</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;header based external authentication does not work in Share since headers are not copied into the request to /wcs/touch by the SSOAuthenticationFilter (at least as far as 3.4.4 and 4.0.0 code that I know of is concerned). There is &lt;/SPAN&gt;&lt;A href="https://forums.alfresco.com/en/viewtopic.php?f=10&amp;amp;t=42895" rel="nofollow noopener noreferrer"&gt;another topic&lt;/A&gt;&lt;SPAN&gt; (dealing with SiteMinder in particular) that addresses the need for a specific SSO filter which transfers the headers to the Repository in order to achieve working external authentication.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The comment above is meant "in general" with regards to external authentication - I have not yet tackled a Shibboleth authentication integration.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Axel&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 May 2012 07:04:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/share-alfresco-with-sso/m-p/265931#M219061</guid>
      <dc:creator>afaust</dc:creator>
      <dc:date>2012-05-15T07:04:27Z</dc:date>
    </item>
  </channel>
</rss>

