For those of you who have used BizTalk long enough, its not a surprise : The Enterprise single sign on capabilities that comes as part of BizTalk server is used to store lot of confidential information in a secured way, without SSO you can’t setup a BizTalk environment. BizTalk Server internally uses SSO to store lots of its internal configurations like adapter data, configuration you put on send/receive ports etc, etc.
Another less known factor (at least for beginners) is that, you can keep your own configuration data in SSO database (the things you normally keep in an app.config file). In the past, its not a straight forward approach due to lack of tooling. People like Richard Seroter came with custom tools to tackle this issue, which helped.
Recently Microsoft released a MMC snap-in to tackle this exact issue. You can download the full package from here. The installation comes with
1. MMC Snap-in to manage a SSO application (Create, import, export, delete etc), Manage your custom key/value pair data.
2. It comes with .cs helper file with a static method to read the data,
3. MSBuild task, which helps to import your custom application during deployment (this is supper cool).
Let just see a “Hello World” walk through example:
1. Download and install the MMC snap in from here
2. Open “SSO Application Configuration.msc” mmc snap-in
3. Right-Click on the top node “<your company name> SSO Application Configuration” and select “Add Application”, give the name “HelloWorld”.
4. Right-Click on the “HelloWorld” node, and select “Add Key Value Pair”, provide the values Key=”LoggingEnabled”, Value = “True”
5. Create a console application, add reference to the dll “C:Program FilesCommon FilesEnterprise Single Sign-OnMicrosoft.BizTalk.Interop.SSOClient.dll“, include the “SSOClientHelper.cs” helper file (part of the download).
6. Now you can access the key data as shown below
The mmc snap in allows you to export the SSO application in an encrypted format. You can later import it either using the mmc snap-in, or you can bundle it as part of msbuild task (if in case you already got your deployment configured using msbuild) as shown below
<ImportSSOConfigurationApplicationTask EncryptionKey=”test” EncryptedFile=”C:UsersAdministratorDocumentsSSO App ExportTestApp.sso” />
<Message Text=”Imported SSO Application” />