External IMS with Extranet

Topics: General
Jul 13, 2012 at 5:33 PM

I'm looking at C1 as a platform to build a new website that requires tight integration with an external database vendor for most of the data that drives the site. Extranet looks like a very nice base to work from for the auth side, as the docs say you can write a custom provider to integrate with an external system. Our external system completely manages users and groups as well as includes single sign-on capabilities.

A closer look has me wondering though. From the docs I can find, IExtranetUser and IExtranetGroup use GUIDs as their identifiers. That's a fine design, but our IMS uses something else for that purpose. I can assign a Vendor-specific identifier to a user in the IMS, but there is no such capability for groups. It looks like if I wanted to use Extranet, I would have to create a synchronization piece between our IMS and C1 instead of simply passing off all calls to the IMS and relying solely on it. Is this right? Apologies if I'm way off base here, I'm just trying to wrap my head around the system.

Coordinator
Jul 19, 2012 at 11:05 AM

>> It looks like if I wanted to use Extranet, I would have to create a synchronization piece between our IMS and C1 instead of simply passing off all calls to the IMS and relying solely on it. Is this right? Apologies if I'm way off base here, I'm just trying to wrap my head around the system.

We're planning to build a new more extendable Extranet, but we neither have complete specifications nor planned release date at the moment.

For now as a workaround you can map your user group name to guid-s by, f.e. computing an MD5 hashes from names.

        private static Guid GetMD5Hash(string text)
        {
            using (MD5 md5 = MD5.Create())
            {
                byte[] hash = md5.ComputeHash(Encoding.Unicode.GetBytes(text));
                return new Guid(hash);
            }
        }