SSO from Nuxeo to JForum

View: New views
11 Messages — Rating Filter:   Alert me  

SSO from Nuxeo to JForum

by jiveforums-ecm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

We are doing a small plugin to implement single sign on from Nuxeo to JForum.

That is, we are using Nuxeo's users and login service to log seamlessly my users into JForum. I will have a link somewhere in Nuxeo that will direct the users to the forum where they will be already logged in.

Now, my question would be what approach is best practice and choice:

a. Implement the forum link as an action contrib to create and send the cookie to JForum everytime the user clicks the forum link.

b. Insert code somewhere behind login.jsp page to create the cookie and log the user once in the forum. The link to the forum would be a plain link (such as the one that comes by default called 'community').

c. Any better alternatives?


We are looking at the 'a' solution for now, but I am unsure about it being the best option. Please someone enlighten me.


Thanks,
Jose

Edited by: jiyarza on Oct 27, 2009 8:58 AM
--
Posted by "jiyarza" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8651>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Re: SSO from Nuxeo to JForum

by Thierry Delprat-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

The point is that you will need to hook into your forum authentication at some point.
Just forwarding the SessionID won't be enought, your forum application probably needs more that just an http session.

An option would be to use a web sso like CAS that is already integrated with Nuxeo : if your forum supports it then your are done.

Tiry

2009/10/27 <jiveforums-ecm@...>
Hi,

We are doing a small plugin to implement single sign on from Nuxeo to JForum.

That is, we are using Nuxeo's users and login service to log seamlessly my users into JForum. I will have a link somewhere in Nuxeo that will direct the users to the forum where they will be already logged in.

Now, my question would be what approach is best practice and choice:

a. Implement the forum link as an action contrib to create and send the cookie to JForum everytime the user clicks the forum link.

b. Insert code somewhere behind login.jsp page to create the cookie and log the user once in the forum. The link to the forum would be a plain link (such as the one that comes by default called 'community').

c. Any better alternatives?


We are looking at the 'a' solution for now, but I am unsure about it being the best option. Please someone enlighten me.


Thanks,
Jose

Edited by: jiyarza on Oct 27, 2009 8:58 AM
--
Posted by "jiyarza" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8651>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm


_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Re: SSO from Nuxeo to JForum

by jiveforums-ecm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi again,

I got a question about Action contributions: where/how do you register your own controller class to handle your actions? Is it down to faces config?

Cheers.
--
Posted by "jiyarza" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8656>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Re: SSO from Nuxeo to JForum

by jiveforums-ecm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Well, we are implementing the locator pattern to register a new service, the implementation and use it in the actions-contrib.xml.

Are we on the right track?
--
Posted by "jiyarza" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8671>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Re: SSO from Nuxeo to JForum

by jiveforums-ecm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

in the link attribute of the action contribution you can have a EL expression such as #{foo.doMyStuff}
--
Posted by "arussel" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8680>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Re: SSO from Nuxeo to JForum

by jiveforums-ecm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

For SSO you can have a look at:
http://hg.nuxeo.org/addons/nuxeo-platform-login/
you'll find different config for cas, cleartrust and sso
--
Posted by "arussel" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8681>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Re: SSO from Nuxeo to JForum

by jiveforums-ecm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for the answer. We are registering our own service and action to do #{foo.mystuff}.

These are our contrib files:


----- JForumService.xml:

<?xml version="1.0"?>
<component name="org.orange.crdpp.jforum.service.JForumService">
  <implementation class="org.orange.crdpp.jforum.service.JForumService"/>
  <service>
     <provide interface="org.orange.crdpp.jforum.api.JForumManager"/>
  </service>
</component>

----- jforum-platform-contrib.xml:

<?xml version="1.0" encoding="UTF-8"?>
<component name="org.orange.crdpp.jforum.service.binding.contrib">
  <require>org.orange.crdpp.jforum.service.JForumService</require>
  <extension target="org.nuxeo.runtime.api.ServiceManagement" point="services">    
    <service class="org.orange.crdpp.jforum.api.JForumManager">
      <locator>%JForumManagerBean</locator>
    </service>
  </extension>
</component>

----- fragment in actions-contrib.xml:

<!-- Forum -->
    <action id="jforum" link="#{jForumManager.addCookie}" label="Forum" order="10" enabled="true">
      <category>USER_SERVICES</category>
    </action>



JForumService class extends DefaultComponent and does not override any method (it is an empty class). So far we are getting an error on startup when registering the service:

2009-10-28 09:12:00,035 ERROR [org.nuxeo.runtime.model.RegistrationInfo] Failed to register extension. Contributor: RegistrationInfo: service:org.orange.crdpp.jforum.service.binding.contrib to service:org.nuxeo.runtime.api.ServiceManagement; xpoint: services
java.lang.NullPointerException
 at org.nuxeo.runtime.api.ServiceManager.registerService(ServiceManager.java:89)
 at org.nuxeo.runtime.api.ServiceManagement.registerContribution(ServiceManagement.java:57)
 at org.nuxeo.runtime.model.DefaultComponent.registerExtension(DefaultComponent.java:41)
 at org.nuxeo.runtime.model.impl.ComponentInstanceImpl.registerExtension(ComponentInstanceImpl.java:172)
 at org.nuxeo.runtime.model.impl.ComponentManagerImpl.registerExtension(ComponentManagerImpl.java:377)
 at org.nuxeo.runtime.model.impl.RegistrationInfoImpl.activate(RegistrationInfoImpl.java:273)
 at org.nuxeo.runtime.model.impl.RegistrationInfoImpl.resolve(RegistrationInfoImpl.java:337)
 at org.nuxeo.runtime.model.impl.ComponentManagerImpl._register(ComponentManagerImpl.java:185)
 at org.nuxeo.runtime.model.impl.ComponentManagerImpl.register(ComponentManagerImpl.java:142)
 at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.deploy(DefaultRuntimeContext.java:92)
 at org.nuxeo.runtime.osgi.OSGiRuntimeService.loadComponents(OSGiRuntimeService.java:202)
 at org.nuxeo.runtime.osgi.OSGiRuntimeService.createContext(OSGiRuntimeService.java:152)
 at org.nuxeo.runtime.osgi.OSGiComponentLoader.bundleChanged(OSGiComponentLoader.java:107)
 at org.nuxeo.osgi.OSGiAdapter.fireBundleEvent(OSGiAdapter.java:214)
 at org.nuxeo.osgi.BundleImpl.setResolved(BundleImpl.java:263)
 at org.nuxeo.osgi.BundleRegistry.doRegister(BundleRegistry.java:163)
 at org.nuxeo.osgi.BundleRegistry.register(BundleRegistry.java:120)
 at org.nuxeo.osgi.BundleRegistry.install(BundleRegistry.java:81)
 at org.nuxeo.osgi.OSGiAdapter.install(OSGiAdapter.java:160)
 at org.nuxeo.osgi.jboss.JBossOSGiAdapter.installBundle(JBossOSGiAdapter.java:110)
 at org.nuxeo.osgi.jboss.JBossOSGiAdapter.handleNotification2(JBossOSGiAdapter.java:255)
 at org.jboss.system.ListenerServiceMBeanSupport.handleNotification(ListenerServiceMBeanSupport.java:403)
 at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
 at $Proxy64.handleNotification(Unknown Source)
 at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
 at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:110)
 at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
 at org.jboss.deployment.SubDeployerSupport.start(SubDeployerSupport.java:308)
 at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:523)
 at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
 at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
 at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
 at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
 at $Proxy35.start(Unknown Source)
 at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
 at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
 at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
 at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
 at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
 at $Proxy25.deploy(Unknown Source)
 at org.nuxeo.runtime.jboss.deployment.NuxeoDeployer.start(NuxeoDeployer.java:264)
 at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
 at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
 at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
 at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
 at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)



Any ideas?

Cheers.
--
Posted by "jiyarza" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8686>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Re: SSO from Nuxeo to JForum

by jiveforums-ecm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

We have made some progress... in the service descriptor we must specify a group, though the doc says it is not required.

Now the problem is that the system is not instantiating our class as we expected, there is an error in the el expression:


10:20:47,747 ERROR [MetaMethodExpression] Error processing action expression #{jForumManager.addCookie}: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'jForumManager' resolved to null
--
Posted by "jiyarza" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8687>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Re: SSO from Nuxeo to JForum

by jiveforums-ecm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

We are doing something wrong.

How do you tell Nuxeo to instance "foo" to be used in an EL expression such as #{foo.myStuff} ?

We are getting an error message from the EL interpreter saying that "foo" does not exist. I think it simply has not been instantiated because we are missing something. Is there any clear example about how to do it?

Cheers.
--
Posted by "jiyarza" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8690>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Re: SSO from Nuxeo to JForum

by jiveforums-ecm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Seems we just need to create a new Seam component, right.
--
Posted by "jiyarza" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8697>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Re: SSO from Nuxeo to JForum

by jiveforums-ecm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

yes
--
Posted by "arussel" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2948#8703>
_______________________________________________
ECM mailing list
ECM@...
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm