Forum OpenACS Q&A: Re: How to make OpenACS talk to LDAP?

Collapse
Posted by Morino Hibiki on
Thanks Malte. Actually i'm trying to create SSO between OpenACS and an open source portal. I don't know if OpenACS is capable for automatic authentication (read cookies for login etc.), but OpenACS sure is great! 😊
Collapse
Posted by Andrew Piskorski on
Morino, I'm entirely certain what you're trying to do, but it is definitely possible to have AOLserver log in as a client to another web-based system using cookies and everything (and with some extra effor, it even works for SSL). I know because I've done so in the past (back in 2003).

However, you're going to have to write code to do it, AFAIK there is nothing stock in OpenACS for that. Ah, the client-side cookie handling you need is in tclwebtest. Between AOLserver, nsopenssl, OpenACS, and tclwebtest, you have all the pieces you need. However, while not terribly difficult, the programming to make it work is not at all trivial, either.

I probably should have contributed that remote web login code I wrote to OpenACS, but after developing it I ended up not actually using it in Production, so I quickly forgot about it. If anyone really wants it I can send you the code (particularly if you will do the work to better integrate it into OpenACS). It includes, for example, a proc which remotely logs in to another OpenACS instance.

Collapse
Posted by Morino Hibiki on
That's great Piskorski. Can you email me the code? I'll appreciate your big support. I hope it will help me a lot.

Thanks again!

Collapse
Posted by Andrew Piskorski on
Morino, ok, the code is available here: remote-login.zip.

It should work as is, but definitely could use some maintenance (renaming procs, moving into namespace, push patched version of https.tcl into nsopenssl, use latest stock tclwebtest rather than included hacked version, etc.) before contributing it to OpenACS or AOLserver.

You probalby want to start by looking at the (in need of renaming) dits_acs_login proc. It will log your AOLserver into a remote OpenACS instance.