<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sts.radiusworks.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Theluis-admin</id>
	<title>Orbital Lite STS Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://sts.radiusworks.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Theluis-admin"/>
	<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Special:Contributions/Theluis-admin"/>
	<updated>2026-11-13T15:37:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Main_Page&amp;diff=56</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Main_Page&amp;diff=56"/>
		<updated>2026-10-19T15:14:50Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: Restore original main page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Welcome to the Orbital Lite Security Token Service Wiki.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Orbital Lite Security Token Service (STS) is a high-performance SAML token generator for legacy applications.&amp;amp;nbsp; Its primary focus is to provide identity federation capabilities with various healthcare solutions and as such it is focused to support clinical workflows and ensure that both user and patient context are relayed to integrated Service Providers.&lt;br /&gt;
&lt;br /&gt;
The primary objective of Orbital Lite STS is to leverage current processes and data repositories in order to minimize implementation efforts to integrate with external Service Providers.&amp;amp;nbsp; This is usually accomplished by using data elements from (in order of preference):&lt;br /&gt;
&lt;br /&gt;
*The EMR/HIS &lt;br /&gt;
*Global attributes configured in Orbital Lite STS &lt;br /&gt;
*Windows authentication credentials &lt;br /&gt;
*Active Directory or LDAP &lt;br /&gt;
*Databases &lt;br /&gt;
*Active Directory Federations Services (in development) &lt;br /&gt;
*Single-Sign On (SSO) tokens (in development) &lt;br /&gt;
&lt;br /&gt;
Here you will find information that will allow you and your organization to maintain your instance of STS.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:larger&amp;quot;&amp;gt;[[Orbital_Lite_STS_Product_Roadmap|Orbital Lite STS Product Roadmap]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Installation_and_Deployment|Installation and Deployment]]&lt;br /&gt;
&lt;br /&gt;
[[Configuration_Settings|Configuration Settings]]&lt;br /&gt;
&lt;br /&gt;
[[Release_Notes_v1.94|Release Notes v1.94]]&lt;br /&gt;
&lt;br /&gt;
[[Upgrading_v1.93_to_v1.94|Upgrading v1.93 to v1.94]]&lt;br /&gt;
&lt;br /&gt;
[[Orbital_Lite_STS_v1.95_Notes|Orbital Lite STS v1.95 Notes]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Windows_Server_Configuration&amp;diff=55</id>
		<title>Windows Server Configuration</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Windows_Server_Configuration&amp;diff=55"/>
		<updated>2026-10-19T14:55:47Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Technical Requirements ==&lt;br /&gt;
&lt;br /&gt;
Orbital Lite STS is built on .NET technology, and runs on Internet Information Services (IIS) 7 or higher.&amp;amp;nbsp; The server which hosts the service may be a virtual machine on any platform that supports the appropriate Windows installation (Hyper-V, VMWare, etc.).&lt;br /&gt;
&lt;br /&gt;
Minimum requirements include the following:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Microsoft Windows Server 2016 &lt;br /&gt;
*Microsoft .NET Framework 4.51 or later &lt;br /&gt;
*Microsoft Internet Information Services 7.5 &lt;br /&gt;
*Dual-core server instance (2.5 GHz+) &lt;br /&gt;
*8 GB of RAM &lt;br /&gt;
*100 GB of hard-drive space (including system) &lt;br /&gt;
**20 GB separate partition suggested for the Orbital Lite STS   &lt;br /&gt;
*100 MB Ethernet full-duplex connection &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For Windows Integrated Authentication, the server must be a member of the user (or relevant resource) domain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Supported Windows versions ===&lt;br /&gt;
&lt;br /&gt;
*Windows Server 2016 &lt;br /&gt;
*Windows Server 2019 &lt;br /&gt;
&lt;br /&gt;
Deprecated&lt;br /&gt;
&lt;br /&gt;
*Windows 2008 R2 (supported for v1.7) &lt;br /&gt;
*Windows Server 2012 (supported for v1.8) &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Windows Server features ==&lt;br /&gt;
&lt;br /&gt;
Standard Microsoft technologies and features are used to run Orbital Lite STS.&amp;amp;nbsp; The application is hosted under Internet Information Services.&lt;br /&gt;
&lt;br /&gt;
All steps described in the server configuration require local administrative privileges.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-sdtwF elpZib&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
=== .NET Framework ===&lt;br /&gt;
&lt;br /&gt;
Its core requirement is .NET Framework 4.51 or later.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Windows 2016 will have .NET Framework 4.51 or later available as part of its core feature set.&lt;br /&gt;
&lt;br /&gt;
Windows 2012 will have to have .NET Framework 4.51 or later installed.&amp;amp;nbsp; This is available from Microsoft directly at [https://www.microsoft.com/en-ca/download/details.aspx?id=40779 https://www.microsoft.com/en-ca/download/details.aspx?id=40779] .&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== WEB Server Role and Features ===&lt;br /&gt;
&lt;br /&gt;
The Web Server (Internet Information Services) is not enabled by default and will have to be configured.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt;&#039;&#039;&#039;&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;You can perform all the steps listed on this manually page or just run this&amp;lt;/span&amp;gt;[https://radiusworks.com/projects/IIS-feature-installation.txt &#039;&#039;&#039;Powershell script&#039;&#039;&#039;]&#039;&#039;&#039;&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
On the Windows Server launch the Server Manager application. &amp;amp;nbsp; Click on “Manage” and then select/click on “Add Roles and Features”.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The selection screen will display all the available roles for the server.&amp;amp;nbsp; Scroll down the list and select “Web Server” and Click “Next”&lt;br /&gt;
&lt;br /&gt;
Server Manager will confirm that you wish to add “Web Server”; click on “Add Features”. The next screen will confirm the selection of the “Web Server” role.&amp;amp;nbsp; Click on “Next”. At the next screen ensure that the “Windows Identity Foundation 3.5” is selected. The next screen will initiate the detailed features that need to be enabled as part of the IIS configuration.&amp;amp;nbsp; Click on “Next” to continue. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For most Orbital Lite STS configurations, Windows Integrated Authentications (UserContextMode 4) will be required to have a seamless user experience.&amp;amp;nbsp; Ensure that “Windows Authentication” is enabled.&lt;br /&gt;
&lt;br /&gt;
As well, in some cases “IIS Client Certificate Mapping Authentication” is required to support client-side certificate authentication (UserContextMode 5).&amp;amp;nbsp; &amp;amp;nbsp; Scrolling down the list expand on the “Application Development” group and select “[http://ASP.NET ASP.NET] 4.6”.&amp;amp;nbsp; It should automatically also select “.NET Extensibility 4.6”, “ISAPI Extenstions”, and “ISAPI Filters”.&amp;amp;nbsp; This is required to support the [https://dotnet.microsoft.com/apps/aspnet/mvc MVC ASP.NET framework] that Orbital Lite STS uses.&amp;lt;br/&amp;gt; Click on “Next” and the installation process should be completed in moments.&amp;amp;nbsp; When you see the “Installation succeeded” message click on “Close”.&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=UserGlobalSettings&amp;diff=53</id>
		<title>UserGlobalSettings</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=UserGlobalSettings&amp;diff=53"/>
		<updated>2026-10-19T14:55:47Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The following parameters will provide the necessary data for all SAML tokens where the HIS and/or the LDAP directory does not have the necessary information.&amp;amp;nbsp; This helpful when there are key attributes that would be challenging to manage for all users, but are globally the same for the organization or a set of users (as defined by the NameQualifier.&lt;br /&gt;
&lt;br /&gt;
It is possible to have different entries to match different NameQualifier values (or UserContextDomain) in order to accommodate environments where more than one organization, entity, or unique groups have to be supported.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Name: This value is merely a label and should be unique if there is more than one entry. &lt;br /&gt;
*NameQualifier: this is the NameQualifier value that users will be matched against. For all users with the specified NameQualifier these values will be used (unless provided by the source system): &lt;br /&gt;
**UAO &lt;br /&gt;
**UAOType &lt;br /&gt;
**grantByDelegateMeritOnly &lt;br /&gt;
**IdentityProvider &lt;br /&gt;
**IdentityVerificationSchemeRef &lt;br /&gt;
**UAOIdentityVerificationSchemeRef &lt;br /&gt;
**DelegationVerificationSchemeRef &lt;br /&gt;
**CredentialVerificationSchemeRef &lt;br /&gt;
**ProtectedNetwork &lt;br /&gt;
**PrimaryFactor &lt;br /&gt;
**GlobalRole: This value represents a set of comma-delimited roles that will be asserted in the SAML token &lt;br /&gt;
**GlobalServiceEntitlement; &amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;available since version 1.8&amp;lt;/span&amp;gt; &lt;br /&gt;
**AuthenticationLevel; &amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;available since version 1.8&amp;lt;/span&amp;gt;   &lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Example Configuration ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;code-block right-shadow&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: 12px;  background: rgb(244, 245, 247) none repeat scroll 0% 0%;  color: rgb(23, 43, 77);  border-radius: 3px;  display: flex;  line-height: 1.66667;  overflow-x: auto;  white-space: pre&amp;quot;&amp;gt;&amp;lt;code style=&amp;quot;font-size: 12px;  line-height: 1.66667;  padding: 8px&amp;quot;&amp;gt;&amp;lt;UserGlobalSettings&amp;gt; &amp;lt;UserConfig Name=&amp;quot;PrimaryUserPopulation&amp;quot; NameQualifier=&amp;quot;corporate.hospital.on.ca&amp;quot; UAO=&amp;quot;2.16.840.1.113883.3.239.22&amp;quot; UAOType=&amp;quot;org&amp;quot; grantByDelegateMeritOnly=&amp;quot;false&amp;quot; IdentityProvider=&amp;quot;2.16.840.1.113883.3.239.22.13&amp;quot; IdentityVerificationSchemeRef=&amp;quot;AL2&amp;quot; UAOIdentityVerificationSchemeRef=&amp;quot;AL2&amp;quot; DelegationManagementSchemeRef=&amp;quot;AL2&amp;quot; CredentialManagementSchemeRef=&amp;quot;AL2&amp;quot; ProtectedNetwork=&amp;quot;true&amp;quot; PrimaryFactor=&amp;quot;Password&amp;quot; CompensatingFactors=&amp;quot;&amp;quot; GlobalRole=&amp;quot;&amp;quot; GlobalServiceEntitlement=&amp;quot;MyService&amp;quot; AuthenticationLevel=&amp;quot;AL2&amp;quot; Domain=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;UserConfig Name=&amp;quot;SecondaryUserPopulation&amp;quot; NameQualifier=&amp;quot;rehab.hospital.on.ca&amp;quot; UAO=&amp;quot;2.16.840.1.113883.3.239.22&amp;quot; UAOType=&amp;quot;org&amp;quot; grantByDelegateMeritOnly=&amp;quot;false&amp;quot; IdentityProvider=&amp;quot;2.16.840.1.113883.3.239.22.13&amp;quot; IdentityVerificationSchemeRef=&amp;quot;AL2&amp;quot; UAOIdentityVerificationSchemeRef=&amp;quot;AL2&amp;quot; DelegationManagementSchemeRef=&amp;quot;AL2&amp;quot; CredentialManagementSchemeRef=&amp;quot;AL2&amp;quot; ProtectedNetwork=&amp;quot;true&amp;quot; PrimaryFactor=&amp;quot;Password&amp;quot; CompensatingFactors=&amp;quot;&amp;quot; GlobalRole=&amp;quot;ConnectingGTA&amp;quot; GlobalServiceEntitlement=&amp;quot;MyService&amp;quot; AuthenticationLevel=&amp;quot;AL2&amp;quot; Domain=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;UserConfig Name=&amp;quot;OncologyDepartment&amp;quot; NameQualifier=&amp;quot;oncology.hospital.on.ca&amp;quot; UAO=&amp;quot;2.16.840.1.113883.3.239.22&amp;quot; UAOType=&amp;quot;org&amp;quot; grantByDelegateMeritOnly=&amp;quot;false&amp;quot; IdentityProvider=&amp;quot;2.16.840.1.113883.3.239.22.13&amp;quot; IdentityVerificationSchemeRef=&amp;quot;AL2&amp;quot; UAOIdentityVerificationSchemeRef=&amp;quot;AL2&amp;quot; DelegationManagementSchemeRef=&amp;quot;AL2&amp;quot; CredentialManagementSchemeRef=&amp;quot;AL2&amp;quot; ProtectedNetwork=&amp;quot;true&amp;quot; PrimaryFactor=&amp;quot;Password&amp;quot; CompensatingFactors=&amp;quot;&amp;quot; GlobalRole=&amp;quot;ConnectingGTA,Oncology&amp;quot; GlobalServiceEntitlement=&amp;quot;MyService&amp;quot; AuthenticationLevel=&amp;quot;AL2&amp;quot; Domain=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/UserGlobalSettings&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=UserContextModes&amp;diff=51</id>
		<title>UserContextModes</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=UserContextModes&amp;diff=51"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
In order to provide a certain level of security in order to assert the identity of a user between the HIS&amp;lt;br/&amp;gt; and the receiving STS, there are certain requirements that need to be fulfilled.&lt;br /&gt;
&lt;br /&gt;
In a standard SAML 2.0 token exchange, the confidence (or “trust”) level is provided by the use of&amp;lt;br/&amp;gt; digital certificates in order to encrypt and/or sign the message so that the information cannot be&amp;lt;br/&amp;gt; easily disseminated or intercepted.&lt;br /&gt;
&lt;br /&gt;
All user context exchanges should be conducted via a HTTP-POST to a specific processing web form&amp;lt;br/&amp;gt; (or service) on the STS. To ensure the security of the transmission, this communication should&amp;lt;br/&amp;gt; always occur over HTTPS.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The STS supports 5 context modes:&lt;br /&gt;
&lt;br /&gt;
#UserContextMode 1 - SHA-256 hash with User-Specific Secret Key &lt;br /&gt;
#UserContextMode 2 - SHA-256 hash with System-Specific Secret Key &lt;br /&gt;
#UserContextMode 3 - User-Specific &#039;&#039;&#039;&#039;&#039;Plaintext&#039;&#039;&#039;&#039;&#039; Key &lt;br /&gt;
#UserContextMode 4 - User Windows Credentials &lt;br /&gt;
#UserContextMode 5 - Client Certificates &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
v1.95 has two additional modes planned for implementation; ADFS and SSO tokens.&lt;br /&gt;
&lt;br /&gt;
== What is the right UserContextMode for my STS integration? ==&lt;br /&gt;
&lt;br /&gt;
Our experience is that most organizations are split between UserContextMode 2 and 4.&lt;br /&gt;
&lt;br /&gt;
If the HIS/EMR/EHR or legacy application vendor has the ability to generate cryptographic hashes, the UserContextMode 2 is recommended as it makes the integration effort a lot simpler.&lt;br /&gt;
&lt;br /&gt;
For environments where the Windows credentials are available (workstation, RDP/Citrix session, or a SSO client), then UserContextMode 4 is used.&lt;br /&gt;
&lt;br /&gt;
[[File:]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== UserContextMode 1 - SHA-256 hash with User-Specific Secret Key ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
In this mode the source system provides six attributes&lt;br /&gt;
&lt;br /&gt;
*NameID – source system username &lt;br /&gt;
*NameQualifier - optional &lt;br /&gt;
*UserContextTimeDate - in “YYYY-MM-DD hh-mm-ss” format &lt;br /&gt;
*UserContextID - also set to the source system username &lt;br /&gt;
*UserContextMode - set to “1” &lt;br /&gt;
*UserContextHash - [[UserContextHash|generated using a user-specific secret key]] &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== UserContextMode 2 - SHA-256 hash with System-Specific Secret Key ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The system-specific key is set in the STS web.config.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
In this mode the source system provides six attributes&lt;br /&gt;
&lt;br /&gt;
*NameID – source system username &lt;br /&gt;
*NameQualifier - optional &lt;br /&gt;
*UserContextTimeDate - in “YYYY-MM-DD hh-mm-ss” format &lt;br /&gt;
*UserContextID - also set to the source system username &lt;br /&gt;
*UserContextMode - set to “1” &lt;br /&gt;
*UserContextHash - [[UserContextHash|generated using a system-specific secret key]] &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== UserContextMode 3 - User-Specific &#039;&#039;&#039;&#039;&#039;Plaintext&#039;&#039;&#039;&#039;&#039;Key ==&lt;br /&gt;
&lt;br /&gt;
*NameID – source system username &lt;br /&gt;
*NameQualifier - optional &lt;br /&gt;
*UserContextTimeDate - in “YYYY-MM-DD hh-mm-ss” format &lt;br /&gt;
*UserContextID - also set to the source system username &lt;br /&gt;
*UserContextPassword - user specific password that will allow STS to validate the user &lt;br /&gt;
*UserContextWorkstation - &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== UserContextMode 4 - User Windows Credentials ==&lt;br /&gt;
&lt;br /&gt;
Additional user and security context will be obtained from the Windows credentials&lt;br /&gt;
&lt;br /&gt;
*NameID – source system username &lt;br /&gt;
*NameQualifier - optional &lt;br /&gt;
*UserContextID - also set to the source system username &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== UserContextMode 5 - Client Certificates ==&lt;br /&gt;
&lt;br /&gt;
Additional user and security context will be obtained from the client certificate&lt;br /&gt;
&lt;br /&gt;
*NameID – source system username &lt;br /&gt;
*NameQualifier - optional &lt;br /&gt;
*UserContextID - also set to the source system username&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=UserContextHash&amp;diff=49</id>
		<title>UserContextHash</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=UserContextHash&amp;diff=49"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The UserContextHash is used to validate the identity of a user or a source system in order to provide STS with secure validation.&lt;br /&gt;
&lt;br /&gt;
It’s a SHA256 hash that is generated in the following manner by concatenating three strings:&lt;br /&gt;
&lt;br /&gt;
Hash = UserContextTimeDate + UserContextID + secret key&lt;br /&gt;
&lt;br /&gt;
The secret key being a value that is specific for the user (stored in a directory) or specific to the STS (defined in the web.config).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
private bool ValidateHash(string strUsername, string strTimeDate, string strSecret, string strHash)&lt;br /&gt;
&lt;br /&gt;
{ // deal with base64 encoded hashes -&amp;gt; this is what we expect from the HIS submissions&lt;br /&gt;
&lt;br /&gt;
// byte array conversions add &amp;quot;-&amp;quot; to the string&lt;br /&gt;
&lt;br /&gt;
strHash = strHash.Replace(&amp;quot;-&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
strHash = strHash.Replace(&amp;quot; &amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
string compareHash = generate_sha256hash(strTimeDate + strUsername + strSecret);&lt;br /&gt;
&lt;br /&gt;
compareHash = compareHash.Replace(&amp;quot;-&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
strHash = strHash.Replace(&amp;quot;-&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (strHash.ToLower() == compareHash.ToLower())&lt;br /&gt;
&lt;br /&gt;
{ Log(&amp;quot;Hash value confirmed for user &amp;quot; + strUsername + &amp;quot;.&amp;quot;, Log.LogLevel.Info);&lt;br /&gt;
&lt;br /&gt;
return true; }&lt;br /&gt;
&lt;br /&gt;
return false; }&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Upgrading_v1.93_to_v1.94&amp;diff=47</id>
		<title>Upgrading v1.93 to v1.94</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Upgrading_v1.93_to_v1.94&amp;diff=47"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div&amp;gt;This process should take 10 minutes.&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#Make a backup of the existing installation, especially the web.config file. &lt;br /&gt;
#You can maintain the existing IIS application and configuration; no changes in .NET framework or any other IIS configuration needs to be altered. &lt;br /&gt;
#The upgrade package includes the following: &lt;br /&gt;
&amp;lt;pre style=&amp;quot;margin-left: 80px&amp;quot;&amp;gt;2020-02-18  04:39 PM    &amp;lt;DIR&amp;gt;          bin&lt;br /&gt;
2020-02-18  04:39 PM    &amp;lt;DIR&amp;gt;          Content&lt;br /&gt;
2020-02-18  04:39 PM    &amp;lt;DIR&amp;gt;          CSS&lt;br /&gt;
2020-02-18  04:39 PM    &amp;lt;DIR&amp;gt;          Images&lt;br /&gt;
2020-02-18  04:39 PM    &amp;lt;DIR&amp;gt;          Views&lt;br /&gt;
2019-07-30  03:47 PM               495 ContextMode4.aspx&lt;br /&gt;
2019-01-13  08:02 PM             1,279 ContextMode5.aspx&lt;br /&gt;
2018-02-24  02:04 PM            32,038 favicon.ico&lt;br /&gt;
2019-01-13  08:02 PM             1,717 FormLogin.aspx&lt;br /&gt;
2019-01-13  08:02 PM             1,704 FormLogout.aspx&lt;br /&gt;
2019-01-13  08:02 PM             1,253 generate_license.txt&lt;br /&gt;
2018-01-09  07:17 AM               868 LICENSE.txt&lt;br /&gt;
2019-01-13  08:02 PM               119 metadata.aspx&lt;br /&gt;
2020-02-17  03:05 PM             1,601 packages.config&lt;br /&gt;
2020-02-18  04:39 PM                49 PrecompiledApp.config&lt;br /&gt;
2020-02-18  08:02 PM             1,778 upgrade.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You should delete the corresponding folders and files in the current installation.&amp;amp;nbsp; It is recommended that a delete is performed first instead of an overwrite.&amp;amp;nbsp; This is due the dependencies that may exist with the DLL files in the /bin folder.&amp;amp;nbsp; Keeping old versions of DLLs may cause version conflicts.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure you do not remove the following:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;margin-left: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;/certificates folder (or alternate location)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;/logs folder (or alternate location)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;/start folder&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;/app_data folder (if exists)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;/web.config file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Stop the IIS site temporarily as there may be file locks in place.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Wait a few seconds.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy the contents of the ZIP package into the folder where STS was located.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Update the web.config with the following elements: &amp;lt;ol start=&amp;quot;1&amp;quot; style=&amp;quot;list-style-type: lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Update the version:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    &lt;br /&gt;
     &amp;lt;STSSettings Version=&amp;quot;v1.93&amp;quot; ...&lt;br /&gt;
     change to:&lt;br /&gt;
     &amp;lt;STSSettings Version=&amp;quot;v1.94&amp;quot; ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;2&amp;quot; style=&amp;quot;list-style-type: lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; Add the new parameters &amp;quot;ClearSession&amp;quot; and &amp;quot;PrimaryADGroupCheck&amp;quot;&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;     &amp;lt;STSSettings Version=&amp;quot;v1.93&amp;quot; ConfigurationDatabase=&amp;quot;~/App_Data/Orbital.sqlite&amp;quot; ...&lt;br /&gt;
     update to:&lt;br /&gt;
     &amp;lt;STSSettings Version=&amp;quot;v1.94&amp;quot; ConfigurationDatabase=&amp;quot;~/App_Data/Orbital.sqlite&amp;quot; ClearSession=&amp;quot;false&amp;quot; PrimaryADGroupCheck=&amp;quot;false&amp;quot; ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;3&amp;quot; style=&amp;quot;list-style-type: lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Add the new parameter &amp;quot;TokenTimeSpan&amp;quot; in each SAMLConfiguration element:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  &lt;br /&gt;
      &amp;lt;SAMLConfigurationElement Service=&amp;quot;MyService&amp;quot; AssertingParty=&amp;quot;sts.hospital.org&amp;quot; ...&lt;br /&gt;
      update each SAMLConfigurationElement to:&lt;br /&gt;
      &amp;lt;SAMLConfigurationElement Service=&amp;quot;MyService&amp;quot; AssertingParty=&amp;quot;sts.hospital.org&amp;quot; TokenTimeSpan=&amp;quot;2&amp;quot; ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;4&amp;quot; style=&amp;quot;list-style-type: lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; Update the entire Runtime section:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;        &amp;lt;runtime&amp;gt;&lt;br /&gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Web.Optimization&amp;quot; publicKeyToken=&amp;quot;31bf3856ad364e35&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;1.0.0.0-1.1.0.0&amp;quot; newVersion=&amp;quot;1.1.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;
      &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Web.Helpers&amp;quot; publicKeyToken=&amp;quot;31bf3856ad364e35&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;1.0.0.0-2.0.0.0&amp;quot; newVersion=&amp;quot;2.0.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;
      &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;
        &amp;lt;assemblyIdentity name=&amp;quot;WebGrease&amp;quot; publicKeyToken=&amp;quot;31bf3856ad364e35&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-1.5.2.14234&amp;quot; newVersion=&amp;quot;1.5.2.14234&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;
    &amp;lt;/assemblyBinding&amp;gt;&lt;br /&gt;
  &amp;lt;/runtime&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; replace with the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;   &amp;lt;runtime&amp;gt;&lt;br /&gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;
                &amp;lt;assemblyIdentity name=&amp;quot;Antlr3.Runtime&amp;quot; publicKeyToken=&amp;quot;EB42632606E9261F&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-3.5.0.2&amp;quot; newVersion=&amp;quot;3.5.0.2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;
      &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Web.Optimization&amp;quot; publicKeyToken=&amp;quot;31bf3856ad364e35&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;1.0.0.0-1.1.0.0&amp;quot; newVersion=&amp;quot;1.1.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;
      &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;
        &amp;lt;assemblyIdentity name=&amp;quot;WebGrease&amp;quot; publicKeyToken=&amp;quot;31bf3856ad364e35&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-1.5.2.14234&amp;quot; newVersion=&amp;quot;1.5.2.14234&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;
      &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Web.Helpers&amp;quot; publicKeyToken=&amp;quot;31bf3856ad364e35&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;1.0.0.0-3.0.0.0&amp;quot; newVersion=&amp;quot;3.0.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;
      &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Web.WebPages&amp;quot; publicKeyToken=&amp;quot;31bf3856ad364e35&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;1.0.0.0-3.0.0.0&amp;quot; newVersion=&amp;quot;3.0.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;
      &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Web.Mvc&amp;quot; publicKeyToken=&amp;quot;31bf3856ad364e35&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;1.0.0.0-5.2.7.0&amp;quot; newVersion=&amp;quot;5.2.7.0&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;
      &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System&amp;quot; publicKeyToken=&amp;quot;b77a5c561934e089&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-4.0.0.0&amp;quot; newVersion=&amp;quot;4.0.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;
    &amp;lt;/assemblyBinding&amp;gt;&lt;br /&gt;
  &amp;lt;/runtime&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start the IIS site&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Launch the web application to test and verify that the log files display no errors.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Upgrading_v1.8x_to_v1.8.2.3&amp;diff=45</id>
		<title>Upgrading v1.8x to v1.8.2.3</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Upgrading_v1.8x_to_v1.8.2.3&amp;diff=45"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1. Make a backup of the existing installation!!!&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 2. You can maintain the existing IIS application and configuration; no changes in .NET framework or any other IIS configuration needs to be altered.&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 3. The upgrade package includes the following:&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 13/01/2019 03:43 PM &amp;lt;DIR&amp;gt; bin&amp;lt;br/&amp;gt; 13/01/2019 03:43 PM &amp;lt;DIR&amp;gt; Content&amp;lt;br/&amp;gt; 13/01/2019 03:43 PM &amp;lt;DIR&amp;gt; CSS&amp;lt;br/&amp;gt; 13/01/2019 03:43 PM &amp;lt;DIR&amp;gt; Views&amp;lt;br/&amp;gt; 13/01/2019 03:43 PM &amp;lt;DIR&amp;gt; license&amp;lt;br/&amp;gt; 13/01/2019 03:43 PM &amp;lt;DIR&amp;gt; Images&amp;lt;br/&amp;gt; 24/02/2018 02:04 PM 1,701 FormLogout.aspx&amp;lt;br/&amp;gt; 12/01/2019 03:41 PM 1,714 FormLogin.aspx&amp;lt;br/&amp;gt; 09/01/2018 07:17 AM 868 LICENSE.txt&amp;lt;br/&amp;gt; 24/02/2018 02:04 PM 116 metadata.aspx&amp;lt;br/&amp;gt; 03/11/2017 08:10 AM 1,707 packages.config&amp;lt;br/&amp;gt; 13/01/2019 03:43 PM 49 PrecompiledApp.config&amp;lt;br/&amp;gt; 24/02/2018 02:04 PM 32,038 favicon.ico&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 4. You should delete the corresponding folders and files in the current installation. It is recommended that a delete is performed first instead of an overwrite. This is due the dependencies that may exist with the DLL files in the /bin folder. Keeping old versions of DLLs may cause version conflicts.&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 5. Make sure you do not remove the following:&amp;lt;br/&amp;gt; /start folder&amp;lt;br/&amp;gt; /certificates folder&amp;lt;br/&amp;gt; /logs folder&amp;lt;br/&amp;gt; /start folder&amp;lt;br/&amp;gt; /app_data folder (if exists)&amp;lt;br/&amp;gt; /web.config file&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 6. Stop the IIS site temporarily as there may be file locks in place.&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 7. Wait a few seconds.&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 8. Copy the contents of the ZIP package into the folder where STS was located.&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 9. Start the IIS site&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 10. Launch the web application to test.&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Technical_Requirements&amp;diff=43</id>
		<title>Technical Requirements</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Technical_Requirements&amp;diff=43"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
•	Microsoft Windows Server 2012&amp;lt;br&amp;gt;&lt;br /&gt;
•	Microsoft .NET Framework 4.51 or later&amp;lt;br&amp;gt;&lt;br /&gt;
•	Microsoft Internet Information Services 7.5&amp;lt;br&amp;gt;&lt;br /&gt;
•	Dual-core server instance (2.5 GHz+)&amp;lt;br&amp;gt;&lt;br /&gt;
•	8 GB of RAM&amp;lt;br&amp;gt;&lt;br /&gt;
•	100 GB of hard-drive space (including operating system); a 20 GB separate partition suggested for the Orbital Lite STS&amp;lt;br&amp;gt;&lt;br /&gt;
•	100 MB Ethernet full-duplex connection&amp;lt;br&amp;gt;&lt;br /&gt;
•	For Windows Integrated Authentication, the server must be a member of the user (or relevant resource) domain&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=STS_Configuration_via_Web.Config&amp;diff=41</id>
		<title>STS Configuration via Web.Config</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=STS_Configuration_via_Web.Config&amp;diff=41"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[STSSettings|STSSettings]]&lt;br /&gt;
&lt;br /&gt;
[[UserGlobalSettings|UserGlobalSettings]]&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=STSSettings&amp;diff=39</id>
		<title>STSSettings</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=STSSettings&amp;diff=39"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
These parameters will be used to configure the behaviour of the STS application or provide global parameters that can complete the SAML token in scenarios where the source application or a directory cannot provide the required parameters.&lt;br /&gt;
&lt;br /&gt;
Where operation or settings differ from v1.7 it will be clearly stated.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Version ==&lt;br /&gt;
&lt;br /&gt;
This value indicates the version of the STS solution.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== ConfigurationDatabase ==&lt;br /&gt;
&lt;br /&gt;
Provides the location for the configuration database for Orbital STS Lite &amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;(STS Version 1.9 and greater)&amp;lt;/span&amp;gt;.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SAMLSpecificationVersion ==&lt;br /&gt;
&lt;br /&gt;
This value indicates which SAML Specification is used when generating the SAML assertion.&amp;amp;nbsp; Accepted values are:&lt;br /&gt;
&lt;br /&gt;
*For ConnectingOntario/ConnectingGTA: &lt;br /&gt;
**connectinggtav1 – original specification (default), generates SAML in ConnectingGTA SAML v0.1 format &lt;br /&gt;
**connectinggtav1.1 - generates SAML in ConnectingGTA SAML v0.2 format &lt;br /&gt;
**connectinggtav1.2 - generates SAML in ConnectingGTA SAML v0.2 format with mandatory RID attributes &lt;br /&gt;
**connectinggtav1.3 – ConnectingGTA SAML v0.2 format original specification with multi-UAO value modifier &lt;br /&gt;
**ehealthontario141 - generates eHealth Ontario SAML 1.4 format &amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;(STS Version 1.8 and greater)&amp;lt;/span&amp;gt; &lt;br /&gt;
**&amp;amp;nbsp;ehealthontario15 - generates eHealth Ontario SAML 1.5 format &amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;(STS Version 1.9 and greater)&amp;lt;/span&amp;gt; &lt;br /&gt;
**telus14 - parses comma-delimited UAO values from input, and generates eHealth Ontario SAML 1.4 format &amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;(STS Version 1.8 and greater)&amp;lt;/span&amp;gt;   &lt;br /&gt;
*salesforcev1 - general OAuth/SAML SalesForce SAML specifications &amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;(STS Version 1.91 and greater)&amp;lt;/span&amp;gt; &lt;br /&gt;
*adfs - standard default Active Directory Federation Services SAML assertions &amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;(STS Version 1.92 and greater)&amp;lt;/span&amp;gt; &lt;br /&gt;
*qhn - Quality Health Network &amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;(STS Version 1.93 and greater)&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;cchie - Clinical Connect HIE &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;(STS Version 1.93 and greater)&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;crisp - State Designated&amp;lt;/span&amp;gt; Health Information Exchange (HIE) for Maryland&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;(STS Version 1.94 and greater)&amp;lt;/span&amp;gt; &lt;br /&gt;
*ethin -&amp;amp;nbsp;&amp;amp;nbsp;East Tennessee Health Information Network&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;(STS Version 1.94 and greater)&amp;lt;/span&amp;gt; &lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SessionExpiry ==&lt;br /&gt;
&lt;br /&gt;
This parameter sets the time limit (in minutes) under which the HIS-generated request is valid.&amp;amp;nbsp; This should be set to a reasonable amount (e.g. 60 minutes) to ensure that an unauthorized party cannot replay an old request.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== TokenTimeSpan ==&lt;br /&gt;
&lt;br /&gt;
This parameter sets the SAML Token parameters NotBefore (Current Time – TokenTimeSpan) and NotOnOrAfter (Current Time + TokenTimeSpan).&amp;amp;nbsp; It is recommended that this time be set to 10 minutes or less.&amp;amp;nbsp; Consideration should be given to any potential discrepancy in system clocks or response times between systems.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&lt;br /&gt;
== ClearSession ==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;STS Version 1.94 and greater. &amp;lt;/span&amp;gt;This parameter indicates if the STS should purge the session object (and expire the associated cookie) once the user is re-directed to the Service Provider.&amp;amp;nbsp; This impacts primarily users that are authenticated with UserContextModes 4 and 5 as the authentication process is a two-step process and the session is used to store user information temporarily.&amp;lt;/div&amp;gt; &amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Key ==&lt;br /&gt;
&lt;br /&gt;
This parameter sets the global secret that will be used for UserContextMode 2.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Debug ==&lt;br /&gt;
&lt;br /&gt;
This parameter will activate the debug mode in STS.&amp;amp;nbsp; It will provide extended auditing in the Audit file.&amp;amp;nbsp; Please note that this should not be enabled on the Production server as the file size will increase very quickly.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== PrimaryADGroupCheck ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;STS Version 1.94 and greater. &amp;lt;/span&amp;gt;This parameter will enable checking for the &amp;quot;Domain Users&amp;quot; primary group nested within a group that has been assigned permission in STS. Note that this is an expensive recursive check that does not use the default .NET directory searcher or identity principal objects which do not return members of a primary group.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== SanitizeLog ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;STS Version 1.9 and greater&amp;lt;/span&amp;gt;. Specifies if the STS should sanitize patient context attributes in the audit and operation logs.&lt;br /&gt;
&lt;br /&gt;
The values are:&lt;br /&gt;
&lt;br /&gt;
*0 - don’t log any patient attributes &lt;br /&gt;
*1 - store patient attributes hashed with a salt as set in SanitizeSalt; hash(attribute +salt) &lt;br /&gt;
*2 - store only last two characters of the attributes; note that for Gender the single character will be captured in its entirety &lt;br /&gt;
*3 - store all patient attributes unchanged (&#039;&#039;&#039;not recommended for PHI&#039;&#039;&#039;) &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== SanitizeSalt ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;STS Version 1.9 and greater&amp;lt;/span&amp;gt;. String to be used to hash patient attributes in logs (if SantizeLog value is set to “1”)&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== EnableFriendlyUserError ==&lt;br /&gt;
&lt;br /&gt;
This attribute specifies if the user will see a customized error page (specified in “FriendlyErrorURL”). It is recommended that the user not see the extended debugging messages as this may expose information that can be manipulated to gain unauthorized access.&amp;amp;nbsp; Enabling customized errors will not have an impact on the ability to log errors or debug so the administrator can still refer to the log files to obtain detailed error information.&amp;amp;nbsp; For environments that provide access to PHI, this should be disabled.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== FriendlyErrorURL ==&lt;br /&gt;
&lt;br /&gt;
The URL that will display an error message.&amp;amp;nbsp; This can be the provided HTML page (“NiceError.html”) or any alternate URL.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== EnableHashDisplay ==&lt;br /&gt;
&lt;br /&gt;
When debugging (i.e. Debug is set to “true”) the SHA256 hash used in UserContextModes 1 and 2 that should be used is displayed for troubleshooting and convenience purposes.&amp;amp;nbsp; This can potentially grant an unauthorized party access.&amp;amp;nbsp; It is recommended that this is set to “false” once the integration and testing efforts have been completed.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== IncludeBlankSAMLAttributes ==&lt;br /&gt;
&lt;br /&gt;
This attribute will determine if SAML attributes that are blank or null will be omitted when the SAML Assertion is generated.&amp;amp;nbsp; This is implemented for systems that require all attributes to be provided regardless of their validity or content.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== QueryStringRequestsAllowed ==&lt;br /&gt;
&lt;br /&gt;
This parameter will enable/disable the ability of the STS solution to process GET requests.&amp;amp;nbsp; In this scenario, all values are submitted as a QueryString as part of the URL that the application will parse.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== EncryptSAMLAttributes ==&lt;br /&gt;
&lt;br /&gt;
This parameter will specify if the SAML attributes sent to Service Providers will be encrypted using the their provided public key. The certificate to be used will be specified in the “SAMLConfiguration” section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;Since STS Version 1.8 and greater&amp;lt;/span&amp;gt; this flag cannot be overriden in the “SAMLConfiguration” section.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== NameIDCase ==&lt;br /&gt;
&lt;br /&gt;
Indicates which string modification will be applied to the NameID value provided by the HIS before being used in the SAML token.&amp;amp;nbsp; Accepted values are:&lt;br /&gt;
&lt;br /&gt;
*none – value will not be modified (default) &lt;br /&gt;
*lower – value will be converted to lower-case &lt;br /&gt;
*upper – value will be converted to upper-case &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== EnablePatientContextNames ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;STS Version 1.71 and greater&amp;lt;/span&amp;gt;. This parameter will specify if the PatientContextLastNames must and that the PatientContextFirstName be included as part of the values to validate the healthcard number. &amp;amp;nbsp;&amp;amp;nbsp;This value should be set to “true”.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== CertificateValidationEnabled ==&lt;br /&gt;
&lt;br /&gt;
This defines if the STS solution will check the validity of the certificate as per the period defined in “CertificateValidationFrequency”.&amp;amp;nbsp; It is recommended, for the Production Environment, that this check is enabled.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== CertificateValidationFrequency ==&lt;br /&gt;
&lt;br /&gt;
Specifies the time (in minutes) after which the certificate verification is skipped.&amp;amp;nbsp; This is only applicable to the certificate used to sign the SAML token.&amp;amp;nbsp; Due to potential performance impacts in accessing external systems, it is recommended that this value is not set too low (i.e. less than 5 minutes).&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== CertificateValidationCRLEnabled ==&lt;br /&gt;
&lt;br /&gt;
This defines if the STS solution will validate that the certificate is still valid with the external service that provides the Certificate Revocation List (CRL).&amp;amp;nbsp; It is recommended, for the Production Environment, that this check is enabled.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== CertificateValidationCRLTimeOut ==&lt;br /&gt;
&lt;br /&gt;
The maximum duration (in seconds) of CRL check until time out.&amp;amp;nbsp; Note that this value may need to be increased if a third party with a significant CRL does not respond fast enough with necessary information.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== EnableFormsAuthentication ==&lt;br /&gt;
&lt;br /&gt;
This parameter specifies if the Forms-based authentication is used when the Windows Integrated Authentication option fails.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== FormAuthentication ==&lt;br /&gt;
&lt;br /&gt;
This parameter specifies the URL of the login page that will be used to authenticate users in UserMode4. &amp;amp;nbsp;&amp;amp;nbsp;This value should not be altered.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== FormLoginPageTitle ==&lt;br /&gt;
&lt;br /&gt;
The title of the HTML title page that should appear on the Forms Login Page.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== FormLoginPageImage ==&lt;br /&gt;
&lt;br /&gt;
The image URL that should appear on the page.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== FormLoginPageMessage ==&lt;br /&gt;
&lt;br /&gt;
The message that should appear at the top of the page.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== FormLoginPageUsername ==&lt;br /&gt;
&lt;br /&gt;
The label that should preface the field where the username is entered.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== FormLoginPagePassword ==&lt;br /&gt;
&lt;br /&gt;
The label that should preface the field where the password is entered.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== FormLoginPageButton ==&lt;br /&gt;
&lt;br /&gt;
The text that should appear on the form submit button.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== FormLoginPageMessage2 ==&lt;br /&gt;
&lt;br /&gt;
An additional message that should appear at the bottom of the page. This can be left blank.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== AssertingParty ==&lt;br /&gt;
&lt;br /&gt;
This parameter identifies the originating STS server and should be a fully qualified domain. It is preferred that individual STS servers, rather than clusters, be identified.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== AudienceRestriction ==&lt;br /&gt;
&lt;br /&gt;
This parameter identifies the default domain that will consume the SAML token.&amp;amp;nbsp; This should be set to the FQD of the organization.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== URL ==&lt;br /&gt;
&lt;br /&gt;
The SAML token will provide this URL in order when identifying the STS Solution.&amp;amp;nbsp; This should be the URL that the HIS/EMR application links to.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Service ==&lt;br /&gt;
&lt;br /&gt;
This parameter identifies the default service that will receive SAML assertions from the STS Solution (it should matche a value in SAMLConfiguration section of the STS Solution).&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== OrganizationName ==&lt;br /&gt;
&lt;br /&gt;
This value is used to generate the metadata file and should provide the name of the organization for which the STS Solution is generating SAML assertions.&amp;amp;nbsp; This can be the organization’s legal name. &amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;Note that version 1.7 has a typo in this attribute; OrganizatioName! This was corrected in v1.71 onwards.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== OrganizationContactName ==&lt;br /&gt;
&lt;br /&gt;
This value is used to generate the metadata file and should provide the name of the individual (or role) that is the primary owner of, or operational support for, the STS Solution.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== OrganizationContactEmail ==&lt;br /&gt;
&lt;br /&gt;
This value is used to generate the metadata file and should provide the e-mail address of the individual (or role) that is the primary owner of, or operational support for, the STS Solution.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== UserNameSpace ==&lt;br /&gt;
&lt;br /&gt;
This is the Uniform Resource Namespace (URN) that all SAML user attributes should use.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== PatientNameSpace ==&lt;br /&gt;
&lt;br /&gt;
This is the Uniform Resource Namespace (URN) that all SAML patient context attributes should use.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== ClinicalNameSpace ==&lt;br /&gt;
&lt;br /&gt;
Specifies the namespace that will be prefixed to all clinical context attributes.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== ServerAvailabilityCheck ==&lt;br /&gt;
&lt;br /&gt;
Specifies if the STS application should check for the availability of a directory server used in “RoundRobin” and “Random” modes.&amp;amp;nbsp; If the server is unavailable, it will attempt to obtain an alternate value.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== ServerAvailabilityRetries ==&lt;br /&gt;
&lt;br /&gt;
Specifies the number of attempts to retrieve an alternate server set in “RoundRobin” or “Random” modes before returning a value (which may be unavailable and cause an error).&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SMTPHost ==&lt;br /&gt;
&lt;br /&gt;
The IP address or DNS name of the SMTP gateway that will be used to send e-mail alerts.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SMTPPort ==&lt;br /&gt;
&lt;br /&gt;
The TCP port that should be used to send SMTP e-mails.&amp;amp;nbsp; This is typically TCP port 25.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SMTPAvailable ==&lt;br /&gt;
&lt;br /&gt;
A value of “true” or “false” indicating if STS should use the server to send e-mail alerts.&amp;amp;nbsp; Setting it to “false” will disable the e-mail functionality for alerts.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SMTPTimeout ==&lt;br /&gt;
&lt;br /&gt;
The amount of time (in seconds) that the STS solution will wait before it times out and indicates an error, resulting in an SMTP e-mail message.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SMTPUseSSL ==&lt;br /&gt;
&lt;br /&gt;
Attribute set to “true” or “false” indicating if the SMTP expects the transmission and authentication to use SSL or TLS.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SMTPUsername ==&lt;br /&gt;
&lt;br /&gt;
The username that should be used for SMTP gateways that require authentication. If none is required, then the username should be blank.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SMTPPassword ==&lt;br /&gt;
&lt;br /&gt;
The password that should be used for SMTP gateways that require authentication. This is ignored if the username is blank.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SMTPRecipient ==&lt;br /&gt;
&lt;br /&gt;
The e-mail address of the intended recipient of the e-mail message.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SMTPFrom ==&lt;br /&gt;
&lt;br /&gt;
The e-mail address of the sender of the message.&amp;amp;nbsp; Please note that some SMTP servers will not relay a message unless the “From” address is from an accepted domain name.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SPMLTracking ==&lt;br /&gt;
&lt;br /&gt;
This will control the SPML functionality in the STS solution and allow the service to trigger ConnectingGTA Provider Registry changes when user info changes.&amp;amp;nbsp; This value can be set as “false” to simplify the deployment.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SPMLModifiers ==&lt;br /&gt;
&lt;br /&gt;
Allows the administrator to disable AddRequest or ModifyRequests in the SPML component.&amp;amp;nbsp; Accepted values are:&lt;br /&gt;
&lt;br /&gt;
*“disableAddRequest” – the SPML component will not trigger SPML requests for new users &lt;br /&gt;
*“disableModifyRequest” – the SPML component will not trigger SPML requests for users who have had their information modified &lt;br /&gt;
*“disableAddRequest,disableModifyRequest” – this disabled both types of requests &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SPMLTrackingSalt ==&lt;br /&gt;
&lt;br /&gt;
Instead of storing user attributes in a database, the SPML component stores hashes.&amp;amp;nbsp; In order to complicate the potential use of rainbow tables to determine the actual values, an additional values is hashed with each attribute.&amp;amp;nbsp; This can be any random sequence of characters and/or numbers.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SPMLTrackingDatabase ==&lt;br /&gt;
&lt;br /&gt;
This specifies the local SQLite database that the SPML component should use to store the hashes.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== SPMLDatabaseConnection ==&lt;br /&gt;
&lt;br /&gt;
For environments that wish to use a central MSSQL database (especially where multiple STS instances exist), the connection string can be provided here.&amp;amp;nbsp; Note that the SPMLTrackingDatabase value should be null (“”) for this value to be in effect.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== DoSClientThreshold ==&lt;br /&gt;
&lt;br /&gt;
This parameter is used to prevent Denial of Service attacks on both the STS and the Service Provider.&amp;amp;nbsp; This sets the threshold of how many requests one single system (on an unique IP address) can generate within a certain amount of time (see DoSClientPeriod).&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== DoSClientPeriod ==&lt;br /&gt;
&lt;br /&gt;
This parameter is used to prevent Denial of Service attacks on both the STS and the Service Provider. This sets the length of time until the STS counter for a client system is reset.&amp;amp;nbsp; This value is expressed in minutes.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== DoSUserThreshold ==&lt;br /&gt;
&lt;br /&gt;
This parameter is used to prevent Denial of Service attacks on both the STS and the Service Provider.&amp;amp;nbsp; This sets the threshold of how many requests one single user (determined by the NameID) can generate within a certain amount of time (see DoSUserPeriod).&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== DoSUserPeriod ==&lt;br /&gt;
&lt;br /&gt;
This parameter is used to prevent Denial of Service attacks on both the STS and the Service Provider. This sets the length of time until the STS counter for a specific user is reset.&amp;amp;nbsp; This value is expressed in minutes.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== ValidateEachPerson ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: rgb(255, 86, 48)&amp;quot;&amp;gt;STS Version 1.8 and greater&amp;lt;/span&amp;gt;. In scenarios where the users provides their own UAO (single clinical practice) setting this value to false will bypass the UAO validation.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-fnwBNb qtHFV&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Example STSSettings Section ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;code-block right-shadow&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: 12px; background: rgb(244, 245, 247) none repeat scroll 0% 0%; color: rgb(23, 43, 77); border-radius: 3px; display: flex; line-height: 1.66667; overflow-x: auto; white-space: pre&amp;quot;&amp;gt;&amp;lt;code style=&amp;quot;font-size: 12px; line-height: 1.66667; padding: 8px&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 141, 166)&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 141, 166)&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;lt;&amp;lt;/span&amp;gt;STSSettings&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;Version&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;v1.93&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;ConfigurationDatabase&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;~/App_Data/Orbital.sqlite&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SAMLSpecificationVersion&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;qhn1&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SessionExpiry&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;60&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;TokenTimeSpan&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;10&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;Key&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;UATSTSSecret&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;Debug&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;true&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SanitizeLog&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;2&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SanitizeSalt&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;6377836388&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;EnableFriendlyUserError&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;false&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;FriendlyErrorURL&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;~/NiceError.html&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;EnableHashDisplay&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;true&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;IncludeBlankSAMLAttributes&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;true&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;AssertingParty&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;sts.grhd.org&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;AudienceRestriction&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;grhd.org&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;Service&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;QHNTest&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;URL&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;[https://oursts.internal.hospital.on.ca https://oursts.internal.hospital.on.ca]&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;OrganizationName&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;Participating Hospital in ConnectingGTA&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;OrganizationContactName&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;Emmanuel Goldstein&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;OrganizationContactEmail&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;Emmanuel.Goldstein@hospital.on.ca&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;EnableFormAuthentication&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;true&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;FormAuthentication&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;~/FormLogin.aspx&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;FormLoginPageTitle&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;QHN Login Page&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;FormLoginPageImage&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;~/images/sts_banner.jpg&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;FormsLoginPageMessage&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;Please enter your username and password.&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;FormsLoginPageUsername&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;Username:&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;FormsLoginPagePassword&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;Password:&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;FormsLoginPageButton&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;Log In to ConnectingGTA&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;FormsLoginPageMessage2&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;Please contact the Service Desk for support.&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;QueryStringRequestsAllowed&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;true&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;EncryptSAMLAttributes&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;false&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;NameIDCase&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;none&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;EnablePatientContextNames&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;true&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;CertificateValidationEnabled&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;false&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;CertificateValidationFrequency&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;120&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;CertificateValidationCRLEnabled&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;false&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;CertificateValidationCRLTimeOut&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;10&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;CertificateOverride&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;encryption&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;UserNamespace&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;PatientNamespace&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;ClinicalNamespace&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;ServerAvailabilityCheck&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;true&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;ServerAvailabilityRetries&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;2&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SMTPAvailable&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;false&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SMTPHost&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;mail.hospital.on.ca&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SMTPPort&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;25&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SMTPTimeout&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;5&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SMTPUseSSL&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;false&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SMTPUsername&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SMTPPassword&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SMTPRecipient&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;monitoring@hospital.on.ca&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SMTPFrom&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;qhn-sts@hospital.on.ca&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SPMLTracking&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;true&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SPMLModifiers&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;disableAddRequest&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SPMLTrackingSalt&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;ThisIsAVeryComplexString73527352&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SPMLTrackingDatabase&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;~/App_Data/CGTA_STS.sqlite&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;SPMLDBConnection&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;DoSClientThreshold&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;1001&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;DoSClientPeriod&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;61&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;DoSUserThreshold&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;101&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;DoSUserPeriod&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;61&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token&amp;quot; style=&amp;quot;color: rgb(0, 184, 217)&amp;quot;&amp;gt;ValidateEachPerson&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token attr-value&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;false&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=SAMLSpecificationVersion&amp;diff=37</id>
		<title>SAMLSpecificationVersion</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=SAMLSpecificationVersion&amp;diff=37"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
By using the SAMLSpecificationVersion, the integrator has the ability to have more fine-grained control of which SAML Specification to use. Each specification corresponds to configured profile that will generate the necessary information in the SAML assertions so that downstream service provided will have the information in the format it requires.&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Hierarchy ==&lt;br /&gt;
&lt;br /&gt;
The SAMLSpecificationVersion value will be processed in the following order:&lt;br /&gt;
&lt;br /&gt;
#Form Submission &lt;br /&gt;
#Service Configuration &lt;br /&gt;
#Global Value &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Form Submision ==&lt;br /&gt;
&lt;br /&gt;
As part of the POST (or GET) request to the STS, the attribute &amp;quot;SAMLSpecificationVersion&amp;quot; allows the administrator to select a specific SAML profile.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Service Configuration ==&lt;br /&gt;
&lt;br /&gt;
If the respective [https://sts.radiusworks.com/wiki/index.php?title=SAMLConfiguration#SAMLSpecificationVersion service entry] contains a value for SAMLSpecificationVersion then it will be used.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Global Value ==&lt;br /&gt;
&lt;br /&gt;
Each STS instance should have have a [https://sts.radiusworks.com/wiki/index.php?title=STSSettings#SAMLSpecificationVersion global SAML profile] configured.&amp;amp;nbsp; If no SAMLSpecificationVersion value is provided either in the form submission to the STS, or specified in the respective service, then the global default value.&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=SAMLConfiguration&amp;diff=35</id>
		<title>SAMLConfiguration</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=SAMLConfiguration&amp;diff=35"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This configuration section permits the administrator to set up a varierty of service providers from within the same instance of Orbital Lite STS. In a Production instance, the STS could re-direct the authorized users based on the target &amp;quot;Service&amp;quot; parameter submitted. &amp;amp;nbsp; Each configuration can differ in these major elements:&lt;br /&gt;
&lt;br /&gt;
*Service and IdP Endpoints &lt;br /&gt;
*Signing and Encryption Certificates &lt;br /&gt;
*SAML Specification Version &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Service ==&lt;br /&gt;
&lt;br /&gt;
This is the label assigned to the entry.&amp;amp;nbsp; When specifying a target service from the legacy application, the &amp;quot;Service&amp;quot; label must match the entry (not case-sensitive). &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== AssertingParty ==&lt;br /&gt;
&lt;br /&gt;
This is the string that will be inclused as part of the SAML payload.&amp;amp;nbsp; This allows the receiving Service Provider to perform a quick check if this is coming from an authorized Identity Provider before typically checking for other aspects of the SAML such as expiry, digital signature, etc. Typically, this value would be a FQD that represents the STS server. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== EncryptSAML ==&lt;br /&gt;
&lt;br /&gt;
This is set to &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;.&amp;amp;nbsp; If set to true, a public key certificate from your Service Provided must be configured and the SAML attributes will all be encrypted.&amp;amp;nbsp; The recommended setting is to always encrypt, especially is patient health information is being transmitted. Note that the [https://sts.radiusworks.com/wiki/index.php?title=STSSettings#EncryptSAMLAttributes global setting EncryptSAMLAttributes] will override this value if it&#039;s set to true.&amp;amp;nbsp; If you wish to actually disable encryption, you need to set the global value to &amp;quot;false&amp;quot; as well.&lt;br /&gt;
&lt;br /&gt;
== TokenTimeSpan ==&lt;br /&gt;
&lt;br /&gt;
Represents the time interval (in minutes) that the SAML payload will indicate to the Service Provider that the token is valid.&amp;amp;nbsp; This a good way to control the potential risk in replay attacks with SAML.&amp;amp;nbsp; The value should reflect any network latency and potential clock synchronization issues.&amp;amp;nbsp; This value should not be higher than 2 minutes. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== appURL ==&lt;br /&gt;
&lt;br /&gt;
This is a mandatory parameter. appURL is the entry endpoint for the Service Provider.&amp;amp;nbsp; This is in most cases another Identity Provider that will do an authentication/authorization check on the user and the Orbital Lite STS.&amp;amp;nbsp; This value will also be placed in the RelayState for the SAML POST. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== destinationURL ==&lt;br /&gt;
&lt;br /&gt;
This is a mandatory parameter.&amp;amp;nbsp; After the initial successful authentication/authorization, the Service Provider will re-direct the user to the actual destination. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== StaticRelayStateParameters ==&lt;br /&gt;
&lt;br /&gt;
This optional string appends some additional attributes to the RelayState.&amp;amp;nbsp; This is useful for profiles that require additional customization. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== SAMLSpecificationVersion ==&lt;br /&gt;
&lt;br /&gt;
This optional parameter allows the administrator to control which SAML specification/profile to use.&amp;amp;nbsp; If the value is left blank, then the [https://sts.radiusworks.com/wiki/index.php?title=STSSettings#SAMLSpecificationVersion global SAMLSpecificationVersion value] will be used. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== AudienceRestriction ==&lt;br /&gt;
&lt;br /&gt;
This optional parameter&amp;amp;nbsp;allows the administrator to state the AudienceRestriction value in the SAML subject header.&amp;amp;nbsp; This permits the IdP to perform additional authorization checks. &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== CertificateThumbprint ==&lt;br /&gt;
&lt;br /&gt;
This value represents a unique signature that identifies the certificate in the Windows Server certificate store which will be used to sign the certificate. The administrator should make sure that the IIS (network) account has read access to the key, and that the key is marked as exportable, otherwise the application cannot get the private key.&lt;br /&gt;
&lt;br /&gt;
To obtain the thumbprint of a certificate, please follow these steps:&lt;br /&gt;
&lt;br /&gt;
*Open Windows Server certificate store using the management console &lt;br /&gt;
*Double-click on the certificate. A new window will appear with additional information for the certificate, at which point click on “Details”. You should find an element labeled “Thumbprint”. &lt;br /&gt;
*Click on the item and select the data displayed in the window. The data can be imported with or without spaces, and is case insensitive. &lt;br /&gt;
&lt;br /&gt;
== CertificatePath and&amp;amp;nbsp;CertificatePassword&amp;amp;nbsp; ==&lt;br /&gt;
&lt;br /&gt;
If the Windows Server certificate store cannot be used, then a physical location may be used and a PFX file may be invoked.&amp;amp;nbsp; The IIS (network) account would need read permissions to the certifcate.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;br/&amp;gt; CertificatePath ===&lt;br /&gt;
&lt;br /&gt;
This would describe the physical path where the certificate (including the private key) is stored.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;br/&amp;gt; CertificatePassword ===&lt;br /&gt;
&lt;br /&gt;
This is the password that the application will be using to access the private key.&lt;br /&gt;
&lt;br /&gt;
== EncryptionCertificateThumbprint ==&lt;br /&gt;
&lt;br /&gt;
The target Service Provider should be providing a certificate that contains the public key in order to encrypt the SAML attributes. The thumbprint as stored in the Windows Certificate Store should be specified here.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== EncryptionCertificatePath ==&lt;br /&gt;
&lt;br /&gt;
As an alternative to EncryptionCertificateThumbprint, the file location of the CER file can be provided in this attribute.&lt;br /&gt;
&lt;br /&gt;
== SPML ==&lt;br /&gt;
&lt;br /&gt;
SPML Service Attributes provide the STS solution information about the SPML endpoint that can be used to update an external user registry:&lt;br /&gt;
&lt;br /&gt;
=== SPMLService ===&lt;br /&gt;
&lt;br /&gt;
this provides the target URL of the SPML Service.� SPMLAction: this is the SOAP request parameter used to invoke the SPML service.&lt;br /&gt;
&lt;br /&gt;
=== SPMLAuthentication ===&lt;br /&gt;
&lt;br /&gt;
The type of authentication used by the SPML service; it can be set to “none”, “username” or “certificate”.&lt;br /&gt;
&lt;br /&gt;
=== SPMLCertificateThumbprint&amp;amp;nbsp; ===&lt;br /&gt;
&lt;br /&gt;
Used when the SPMLAuthentication is set to “certificate”, this will provide the certificate of the private key stored in the Windows Certificate tore that will be used to authenticate.&lt;br /&gt;
&lt;br /&gt;
=== SPMLCertificatePath ===&lt;br /&gt;
&lt;br /&gt;
used when the SPMLAuthentication is set to “certificate”, this will provide the file location of the PFX certificate file which contains the private key.&lt;br /&gt;
&lt;br /&gt;
=== SPMLCertificatePassword ===&lt;br /&gt;
&lt;br /&gt;
used to unlock the PFX file specified in SPMLCertificatePath.&lt;br /&gt;
&lt;br /&gt;
=== SPMLUsername ===&lt;br /&gt;
&lt;br /&gt;
the username send to the SPML service when the SPMLAuthentication is set to “username”.&lt;br /&gt;
&lt;br /&gt;
=== SPMLPassword ===&lt;br /&gt;
&lt;br /&gt;
the associated password with SPMLUsername.&lt;br /&gt;
&lt;br /&gt;
=== SPMLDomain ===&lt;br /&gt;
&lt;br /&gt;
the associated domain for the username specified in SPMLUsername.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Release_Notes_v1.94&amp;diff=33</id>
		<title>Release Notes v1.94</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Release_Notes_v1.94&amp;diff=33"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
There were several feature requests and enhancements made in version 1.94 that needed to be addressed.&amp;amp;nbsp; Some of the underlying .NET libraries were updated as well. &amp;amp;nbsp; &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Technology Updates ==&lt;br /&gt;
&lt;br /&gt;
The following updates were made and have no impact in functionality.&amp;amp;nbsp; The [[Upgrading_v1.93_to_v1.94|web.config]] does have to be updated in existing entries to ensure that the new versions are used. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Maintenance Item 2020-01-09-A&amp;lt;br/&amp;gt; Upgrade to MVC 5.2.7 ===&lt;br /&gt;
&lt;br /&gt;
=== Maintenance Item 2020-01-09-B&amp;lt;br/&amp;gt; Clean build folders ===&lt;br /&gt;
&lt;br /&gt;
=== Maintenance Item 2020-01-09-D&amp;lt;br/&amp;gt; Upgrade to EntityFramework 6.3 ===&lt;br /&gt;
&lt;br /&gt;
=== Maintenance Item 2020-01-09-F&amp;lt;br/&amp;gt; SQLite upgrade 1.0.112 ===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Enhancements and Feature Requests ==&lt;br /&gt;
&lt;br /&gt;
=== Problem Ticket 2019-12-17-A ===&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br/&amp;gt; Support for special case of having an AD group that includes &amp;quot;Domain Users&amp;quot; as a member.&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;div&amp;gt;This is a unique scenario and something that the .NET directory objects don&#039;t handle all that well since &amp;quot;Domain Users&amp;quot; is the primary group of 99.99% of the users in AD (except when admins make changes).&amp;amp;nbsp; As such it does not exist as a group member that can be enumerated recursively when placed in group.&amp;amp;nbsp; Technically adding &amp;quot;domain users&amp;quot; to any groups tends to superfluous since that means that (typically) all users will be a member of the group and may as well be better server by assigning the &amp;quot;Domain Users&amp;quot; group.&amp;amp;nbsp; Nonetheless, the scenario does exist and now the code will look for that special condition.&amp;lt;/div&amp;gt; &lt;br /&gt;
Note: this is an expensive operation since that group will be looked specifically and adds additional overhead.&amp;amp;nbsp; You need to enable this (new) parameter:&lt;br /&gt;
&amp;lt;pre&amp;gt;PrimaryADGroupCheck=&amp;quot;true&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Feature Request 2019-07-22-A ===&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br/&amp;gt; Feature request for permissions if the GroupName is &amp;quot;*&amp;quot; then it will apply to all users and will not actually check against directory server; good for global rules.&amp;lt;/div&amp;gt; &amp;lt;div&amp;gt;In some scenarios where UserContextMode 4 (and 5) is used, the administrator may wish to grant (or deny) users access.&amp;amp;nbsp; Using the &amp;quot;*&amp;quot; (asterisk) in the group permission elements will assign the Allow/Deny rule automatically without invoking the directory server which speeds up performance.&amp;lt;/div&amp;gt; &amp;lt;pre&amp;gt;      &amp;lt;Domains Description=&amp;quot;Everyone&amp;quot; DomainName=&amp;quot;corporate&amp;quot; GroupName=&amp;quot;*&amp;quot; Action=&amp;quot;Allow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Feature Request 2019-08-20-A ===&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br/&amp;gt; Force purge STS session cookie after redirect to Service Provider.&amp;lt;/div&amp;gt; &amp;lt;div&amp;gt;Although the .NET session by default is set to 2 minutes, there is no need to maintain the session if the users has been redirected to the Service Provider.&amp;amp;nbsp; At that point, there is no need to have the session maintained and good security hygiene would suggest that the session be terminated.&amp;amp;nbsp; While no confidential information is stored in the session cookie, having a valid cookie leaves the exploit of replay attacks and impersonation a feasibility.&amp;lt;/div&amp;gt; &lt;br /&gt;
Organizations using UserContextMode 4 (and 5) are potentially impacted since the session cookie is used to store the source parameters while the user is authenticated, and as such should be tested before enabling in Production.&lt;br /&gt;
&amp;lt;pre&amp;gt;ClearSession=&amp;quot;true&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Feature Request 2020-01-20-B ===&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br/&amp;gt; More granular token time out per service.&amp;lt;/div&amp;gt; &lt;br /&gt;
Each SAMLConfigurationElements now allows the administrator to specify a token timeout value specifically per service provider.&amp;amp;nbsp; This is useful when the service provider needs a higher tolerance (e.g. due to network latency or other processing delays).&lt;br /&gt;
&amp;lt;pre&amp;gt;      &amp;lt;SAMLConfigurationElement Service=&amp;quot;ConnectingGTA&amp;quot; AssertingParty=&amp;quot;sts.federation.uat.hospital.on.ca&amp;quot; EncryptSAML=&amp;quot;false&amp;quot; &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;TokenTimeSpan=&amp;quot;2&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Feature Request 2020-01-20-C ===&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br/&amp;gt; Update telus14, ehealthontario141 and ehealthontario15 profile logic for UAO assignment.&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;div&amp;gt;A a specific condition in a multi-UAO value provided by Cerner systems due to technical limitations has been handled differently (&amp;quot;|&amp;quot; will be used instead of &amp;quot;,&amp;quot; as delimiters).&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Problem Ticket 2019-09-19-A ===&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br/&amp;gt; Add event of INFO type in Logs to capture username and usercontext mode.&amp;lt;/div&amp;gt; &lt;br /&gt;
When Debug mode was turned off there was no adequate logging of the actual user context information in the STSLog file.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Feature Request 2019-09-19-A ===&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br/&amp;gt; Add Service item to audit file. For organizations using the same instance of STS for different Service Providers, an additional field has been included that indicates the service invoked. Note that this field has been added to the end of each line in order to not impact existing audit scripts/process that expect the same fields in the same order.&amp;lt;/div&amp;gt; &amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Prerequisites&amp;diff=31</id>
		<title>Prerequisites</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Prerequisites&amp;diff=31"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Orbital Lite STS Software ==&lt;br /&gt;
&lt;br /&gt;
Radius Works Inc. provides the software to client in an archive file.&amp;amp;nbsp; Contact [mailto:support@radiusworks.com support@radiusworks.com] to obtain it promptly. The current release is v1.923.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-sdtwF elpZib&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== License File ==&lt;br /&gt;
&lt;br /&gt;
Depending on the scenario a trial or permanent license file may be provided.&amp;amp;nbsp; Note that the permanent license will have to be generated based on the server deployment, so this is an additional step as part of the installation.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-sdtwF elpZib&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Certificate for Web Application ==&lt;br /&gt;
&lt;br /&gt;
As the Orbital Lite STS application processes potentially restricted information (PII and PHI), it is a requirement that the web site is configured to allow HTTPS only.&amp;amp;nbsp; TLS 1.2 is the recommended protocols&amp;amp;nbsp;while older versions (TLS 1.0/1.1 and&amp;amp;nbsp;SSL 2/3) should be disabled on the web server.&lt;br /&gt;
&lt;br /&gt;
Currently there is &#039;&#039;&#039;no &#039;&#039;&#039;support for TLS 1.3 in Microsoft servers.&lt;br /&gt;
&lt;br /&gt;
There are no specific requirements on the certificate itself; it can self-signed certificate from IIS, issued by an internal PKI, or provisioned by an external Certificate Authority.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-sdtwF elpZib&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Certificate for SAML Signature ==&lt;br /&gt;
&lt;br /&gt;
The Orbital Lite STS requires a signing certificate for the SAML.&amp;amp;nbsp; This is a general purpose certificate which has the private key available.&amp;amp;nbsp; As this certificate is used for non-repudiation, it is critical that this certificate be protected. Learn more about generating certificates here.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-sdtwF elpZib&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Certificate for SAML Encryption ==&lt;br /&gt;
&lt;br /&gt;
Organization and Service Providers may require that the assertions in the SAML be encrypted.&amp;amp;nbsp; For that purpose a separate certificate is used to encrypt the data with a public key.&amp;amp;nbsp; The Service Provider would have the private the key to decrypt. Your Service Provider typically provides you with the public key. Learn more about generating certificates here.&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Orbital_Lite_STS_v1.95_Notes&amp;diff=29</id>
		<title>Orbital Lite STS v1.95 Notes</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Orbital_Lite_STS_v1.95_Notes&amp;diff=29"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Introduction &amp;amp;nbsp; This is intended to be a preview of the capabilities and functionalities planned for v1.95.&amp;amp;nbsp; These may change based on feature requests or identified issues that need to be prioritized. &amp;amp;nbsp; The primary goal with v1.95 will be to prepare the solution for technology growth primarily in the following items:&lt;br /&gt;
&lt;br /&gt;
*transition from the older .NET 4.51 framework to a newer version of .NET Core, &lt;br /&gt;
*preparing for SSO and supporting existing IDPs, &lt;br /&gt;
*caching more data to improve performance &lt;br /&gt;
*moving away from the archaic web.config file that is used for configuration.&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
What will be missing in this version will be a large amounts of new functionality as the intention will be to ensure that the codebase remains fairly unchanged to ensure that there are no disruptions with current integrations.&amp;amp;nbsp; &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The move to .NET Core is to update the various framework libraries that go as far back as 2013 which have been kept to minimize disruption for existing systems.&amp;amp;nbsp; The intention since v1.8 is to maintain the same .NET framework version and there hasn&#039;t been anything so far that could not be accomplished with it.&amp;amp;nbsp; Moving to .NET Core also positions the STS for a more light-weight deployment which would lend itself well for containirization so that cloud deployments can be OS agnostic and use resources more efficiently.&amp;amp;nbsp; It&#039;s not that the STS has a large footprint but this will ensure that the solution continues to be very lean.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
In regards Cloud-deployments it should be kept in mind that Windows Integrated Authentication uses Kerberos behind the scenes which may not be feasible for orgenizations that maintain their domain controllers on-premise.&amp;amp;nbsp; In the short-term a cloud-deployment is feasible for environments that use UserContextModes 1 and 2 and have well-defined or LDAP dependencies.&amp;amp;nbsp; Long-term UserContextModes 6 and 7 will extend the federated authentication model whereby the STS solution will effectively become more of a SAML generator. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
While the STS is quite well-performing in terms of processing requests, there are additional improvements that can be made in regards caching information.&amp;amp;nbsp; At the moment the primary candidate is the group membership code.&amp;amp;nbsp; In some cases these groups can contain thousands of users and can take 100s of milleseconds to retrieve.&amp;amp;nbsp; This would provide a significant performance benefit although the memory footprint may be increased (albeit a small price to pay).&amp;lt;br/&amp;gt; In addition there are many (too) frequent configuration file checks that can be avoided and moved to memory instead. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Another aspect that needs to be addressed is that STS configuration will be moved away from the web.config to a new dedicated repository.&amp;amp;nbsp; The web.config formatting is quite rigid and it&#039;s apparent that the STS has outgrown its confined structure.&amp;amp;nbsp; Upgrades have been more complex than they should have been and have required more manual interventon than desired by both the client and RWI.&amp;amp;nbsp; This may be the time to explore adding a central DB support although the admin interface will need to be introduced.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
With respect to reporting, more organizations are moving towards central repositories either for SIEM, auditing or business metrics, v1.95 will introduce some basic reporting focused on providing security incident reports (i.e. report on all activity for a user) and dashboard on activity (number of users, errors, performance, etc). &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
This will also be last version that will have support for UserContextMode 3.&amp;amp;nbsp; It was an initial implementation that was flawed from a security perspective and was added to support some more limited implementations.&amp;amp;nbsp; Since 2013/2014 no organization has selected this option since the other options are more secure and simpler to implement.&amp;amp;nbsp; It will also simplify the QA process for each release and free up some testing cycles to prepare for the SSO integrations. Overall, the vast majority of organizations are using UserContextModes 2 and 4: [https://wiki.radiusworks.com/main/customcontent/usercontextmodes-breakdown.jpg https://wiki.radiusworks.com/main/customcontent/usercontextmodes-breakdown.jpg]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Also, v1.95 will be final version where Windows 2012 R2 will be actively supported and tested against.&amp;amp;nbsp; Few organizations remain on Windows 2012 servers and the ones that still have their STS running on 2012 R2 are planning to migrate to a newer version.&amp;amp;nbsp; Keep in mind that Active Directory functional level has no direct impact to STS regardless of the UserContextMode and the directory calls.&amp;amp;nbsp; The main reason for discontinuing support for Windows 2012 R2 is to allow v1.96 to implement a newer version of the .NET 4.6.2 which is included as part of the OS components.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Orbital_Lite_STS_Product_Roadmap&amp;diff=27</id>
		<title>Orbital Lite STS Product Roadmap</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Orbital_Lite_STS_Product_Roadmap&amp;diff=27"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width: 800px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width: 60px; text-align: center&amp;quot; | &#039;&#039;&#039;2019&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width: 57px; text-align: center&amp;quot; | &#039;&#039;&#039;2020&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width: 57px; text-align: center&amp;quot; | &#039;&#039;&#039;2021&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width: 58px; text-align: center&amp;quot; | &#039;&#039;&#039;2022&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 60px; text-align: center&amp;quot; | &#039;&#039;&#039;Q2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 57px; text-align: center&amp;quot; | &#039;&#039;&#039;Q4&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 57px; text-align: center&amp;quot; | &#039;&#039;&#039;Q2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 58px; text-align: center&amp;quot; | &#039;&#039;&#039;Q4&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 57px; text-align: center&amp;quot; | &#039;&#039;&#039;Q2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 63px; text-align: center&amp;quot; | &#039;&#039;&#039;Q4&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 58px; text-align: center&amp;quot; | &#039;&#039;&#039;Q2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 62px; text-align: center&amp;quot; | &#039;&#039;&#039;Q4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 60px; text-align: center&amp;quot; | &#039;&#039;&#039;1.92&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 57px; text-align: center&amp;quot; | &#039;&#039;&#039;1.93&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 57px; text-align: center&amp;quot; | &#039;&#039;&#039;1.94&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 58px; text-align: center&amp;quot; | &#039;&#039;&#039;1.95&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 57px; text-align: center&amp;quot; | &#039;&#039;&#039;1.96&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 63px; text-align: center&amp;quot; | &#039;&#039;&#039;1.97&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 58px; text-align: center&amp;quot; | &#039;&#039;&#039;1.98&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 62px; text-align: center&amp;quot; | &#039;&#039;&#039;1.99&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | Windows 2012 R2 Support&lt;br /&gt;
| style=&amp;quot;width: 60px; background-color: rgb(0, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(0, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(0, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(0, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | Windows 2016 Support&lt;br /&gt;
| style=&amp;quot;width: 60px; background-color: rgb(0, 204, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(0, 204, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(0, 204, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(0, 204, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(0, 204, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px; background-color: rgb(0, 204, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(0, 204, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px; background-color: rgb(0, 204, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | Windows 2019 Support&lt;br /&gt;
| style=&amp;quot;width: 60px; background-color: rgb(153, 0, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(153, 0, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(153, 0, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(153, 0, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(153, 0, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px; background-color: rgb(153, 0, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(153, 0, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px; background-color: rgb(153, 0, 204)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 60px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | UserContextMode 1 and 2&lt;br /&gt;
| style=&amp;quot;width: 60px; background-color: rgb(255, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(255, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(255, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(255, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(255, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px; background-color: rgb(255, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(255, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px; background-color: rgb(255, 153, 0)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | UserContextMode 3&lt;br /&gt;
| style=&amp;quot;width: 60px; background-color: rgb(204, 51, 51)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(204, 51, 51)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(204, 51, 51)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(204, 51, 51)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | UserContextMode 4 and 5&lt;br /&gt;
| style=&amp;quot;width: 60px; background-color: rgb(51, 51, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(51, 51, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(51, 51, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(51, 51, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(51, 51, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px; background-color: rgb(51, 51, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(51, 51, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px; background-color: rgb(51, 51, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | UserContextMode 6&lt;br /&gt;
| style=&amp;quot;width: 60px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(102, 153, 153)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px; background-color: rgb(102, 153, 153)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(102, 153, 153)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px; background-color: rgb(102, 153, 153)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | UserContextMode 7&lt;br /&gt;
| style=&amp;quot;width: 60px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(255, 102, 102)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px; background-color: rgb(255, 102, 102)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(255, 102, 102)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px; background-color: rgb(255, 102, 102)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 60px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | .NET Core Support&lt;br /&gt;
| style=&amp;quot;width: 60px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(187, 187, 187)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(187, 187, 187)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px; background-color: rgb(187, 187, 187)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(187, 187, 187)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px; background-color: rgb(187, 187, 187)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | Azure Container Support&lt;br /&gt;
| style=&amp;quot;width: 60px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(255, 204, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px; background-color: rgb(255, 204, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(255, 204, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px; background-color: rgb(255, 204, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | AWS Container Support&lt;br /&gt;
| style=&amp;quot;width: 60px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px; background-color: rgb(255, 204, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px; background-color: rgb(255, 204, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px; background-color: rgb(255, 204, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px; background-color: rgb(255, 204, 255)&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 280px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 60px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 57px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 63px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 58px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;width: 62px&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Version 1.95 planned release date: November 23rd, 2020&lt;br /&gt;
&lt;br /&gt;
Version 1.96 planned release date: March 29th, 2021&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Orbital_Lite_STS&amp;diff=25</id>
		<title>Orbital Lite STS</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Orbital_Lite_STS&amp;diff=25"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Welcome to the Orbital Lite Security Token Service Wiki.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Orbital Lite Security Token Service (STS) is a high-performance SAML token generator for legacy applications.&amp;amp;nbsp; Its primary focus is to provide identity federation capabilities with various healthcare solutions and as such it is focused to support clinical workflows and ensure that both user and patient context are relayed to integrated Service Providers.&lt;br /&gt;
&lt;br /&gt;
The primary objective of Orbital Lite STS is to leverage current processes and data repositories in order to minimize implementation efforts to integrate with external Service Providers.&amp;amp;nbsp; This is usually accomplished by using data elements from (in order of preference):&lt;br /&gt;
&lt;br /&gt;
*The EMR/HIS &lt;br /&gt;
*Global attributes configured in Orbital Lite STS &lt;br /&gt;
*Windows authentication credentials &lt;br /&gt;
*Active Directory or LDAP &lt;br /&gt;
*Databases &lt;br /&gt;
*Active Directory Federations Services (in development) &lt;br /&gt;
*Single-Sign On (SSO) tokens (in development) &lt;br /&gt;
&lt;br /&gt;
Here you will find information that will allow you and your organization to maintain your instance of STS.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[https://sts.radiusworks.com/wiki/index.php?title=Orbital_Lite_STS_Product_Roadmap Orbital Lite STS Product Roadmap]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[https://sts.radiusworks.com/wiki/index.php?title=Installation_and_Deployment Installation and Deployment]&lt;br /&gt;
&lt;br /&gt;
[https://sts.radiusworks.com/wiki/index.php?title=Configuration_Settings Configuration Settings]&lt;br /&gt;
&lt;br /&gt;
[https://sts.radiusworks.com/wiki/index.php?title=Release_Notes_v1.94 Release Notes v1.94]&lt;br /&gt;
&lt;br /&gt;
[https://sts.radiusworks.com/wiki/index.php?title=Upgrading_v1.93_to_v1.94 Upgrading v1.93 to v1.94]&lt;br /&gt;
&lt;br /&gt;
[https://sts.radiusworks.com/wiki/index.php?title=Orbital_Lite_STS_v1.95_Notes Orbital Lite STS v1.95 Notes]&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Main_Page&amp;diff=23</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Main_Page&amp;diff=23"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Key_Concepts_for_Orbital_Lite_STS&amp;diff=21</id>
		<title>Key Concepts for Orbital Lite STS</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Key_Concepts_for_Orbital_Lite_STS&amp;diff=21"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
There are a few logical items that the administrator or Service Provider should understand prior to modifying or reviewing the configuration of Orbital Lite STS.&lt;br /&gt;
&lt;br /&gt;
While many examples focus on healthcare settingsdue its origins, STS has been deployed in non-clinical legacy systems. The terminology such as [https://en.wikipedia.org/wiki/Electronic_health_record EHR]/[https://en.wikipedia.org/wiki/Hospital_information_system HIS]/[https://en.wikipedia.org/wiki/Electronic_health_record EMR], clinical or “clinicians” should not be taken as prescriptive and merely reflects the primary client profile of Radius Works.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== UserContextMode ==&lt;br /&gt;
&lt;br /&gt;
There are currently five modes of operation as of version 1.93. These modes allow the STS to establish the trust with the originating system (an EMR, EHR a HIS). The concept is that the STS needs to confirm that the request is coming from a trusted system or processed on behalf of an authorized user (typically a clinician or other staff member).&lt;br /&gt;
&lt;br /&gt;
Find out more here about UserContextModes.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== UserContext ==&lt;br /&gt;
&lt;br /&gt;
UserContext is the key attribute that establishes the security context between the source (clinical) system and the STS. It’s typically the username by which the user logged into the source system or by which the workstation (also RDP or Citrix session) has authenticated the user.&lt;br /&gt;
&lt;br /&gt;
Group membership lookups are driven by the UserContext attribute so it’s important that the user identity being retrieved from Active Directory, LDAP or a database matches this value.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== NameQualifier ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The NameQualifier is very much a [https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf SAML ]term that is used by STS to define sets of users that will be processed in the same manner.&lt;br /&gt;
&lt;br /&gt;
Typically NameQualifiers align with (AD) domains in the organization. In the SAML sense a NameQualifiers allows an organization to ensure that the identity attributes can be used to uniquely identify a users (&amp;lt;NameQualifier&amp;gt;+&amp;lt;NameID&amp;gt;). Specifically this refer to the situation where an organization has two domains and may not be able to enforce uniqueness in usernames (e.g. samAccountName). For example you have two users called jsmith; one in the “corporate” domains and one in the “research” domain. In Windows/NetBIOS terms this would be “corporate/jsmith” and “research/jsmith”.&lt;br /&gt;
&lt;br /&gt;
STS uses the NameQualifier to determine how to process the user identity information. It may go to Active Directory to obtain additional user attributes for “corporate/jsmith” and may go to a MSSQL data to retrieve information about “research/jsmith”.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Service ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Since version v1.7, the STS supports multiple Service Provider profiles. One instance of STS can be used to integrate with different external Service Providers simplifying maintenance. This can be an attribute that the source system can submit to the STS, providing flexibility and reducing complexity for integrating vendors.&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Installing_Orbital_Lite_STS&amp;diff=19</id>
		<title>Installing Orbital Lite STS</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Installing_Orbital_Lite_STS&amp;diff=19"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;WINDOWS SERVER FEATURES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Standard Microsoft technologies and features are used to run Orbital Lite STS.  The application is hosted under Internet Information Services.&amp;lt;br&amp;gt;&lt;br /&gt;
All steps described in the server configuration require local administrative privileges.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
.NET FRAMEWORK&#039;&#039;&#039;&lt;br /&gt;
Its core requirement is .NET Framework 4.51 or later.&amp;lt;br&amp;gt;  &lt;br /&gt;
Windows 2016 will have .NET Framework 4.51 or later available as part of its core feature set.&amp;lt;br&amp;gt;&lt;br /&gt;
Windows 2012 will have to have .NET Framework 4.51 or later installed.  This is available from Microsoft directly at https://www.microsoft.com/en-ca/download/details.aspx?id=40779 .&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Installation_and_Deployment&amp;diff=17</id>
		<title>Installation and Deployment</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Installation_and_Deployment&amp;diff=17"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Installing and deploying Orbital Lite STS is fairly straight-forward and requires a few steps.&lt;br /&gt;
&lt;br /&gt;
Your Radius Works partners should have provided you with the &amp;lt;span class=&amp;quot;sc-iNhVCk eLcdjG&amp;quot;&amp;gt;prerequisites &amp;lt;/span&amp;gt;including the binary files and initial license file to allow you to test it the solution.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Prerequisites|Prerequisites]]&lt;br /&gt;
&lt;br /&gt;
[[Windows_Server_Configuration|Windows Server Configuration]]&lt;br /&gt;
&lt;br /&gt;
[[Generating_a_License_Key|Generating a License Key]]&lt;br /&gt;
&lt;br /&gt;
[[High_Availability|High Availability]]&lt;br /&gt;
&lt;br /&gt;
[[Authorization_Principles|Authorization Principles]]&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=High_Availability&amp;diff=15</id>
		<title>High Availability</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=High_Availability&amp;diff=15"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
In most environments there is requirement to have web-services running in an Active-Active or Active-Standby configuration.&lt;br /&gt;
&lt;br /&gt;
This is easily accomplished by load-balancing or configuring fail-over between two or more instances of the Orbital Lite STS.&lt;br /&gt;
&amp;lt;div class=&amp;quot;heading-anchor-wrapper&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;sc-sdtwF elpZib&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Considerations ==&lt;br /&gt;
&lt;br /&gt;
A working STS installation can be copied to one or more servers. This reduces the required configuration on each instance.&lt;br /&gt;
&lt;br /&gt;
External load-balancing via network load-balancer or similar device is recommended.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that each new instance will require a new license file. You can follow [https://sts-orbital.atlassian.net/wiki/spaces/OLS/pages/229787/Generating+a+License+Key this process] to generate the request so that Radius Works can provide you the file.&lt;br /&gt;
&lt;br /&gt;
As part of the request processing a user’s information may be temporarily cached on the server when requesting authentication or obtaining a fetch. This means that to generate a SAML token, the client browser may actually process one or more requests to the STS in order to complete the process. Hence it is important the user’s request return to the same server.&lt;br /&gt;
&lt;br /&gt;
If load-balancing, ensure that the affinity (“stickiness”) is set to the client IP. Keep in mind that in some environments behind a proxy or a NAT this may cause undue load. It should be noted that Orbital STS Lite uses SessionIDs that are available in the request header and stored via client-side cookie.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Load-Balancing ==&lt;br /&gt;
&lt;br /&gt;
Using load-balancing ensures that users are provided a resilient and potentially better-performing STS deployment.&amp;amp;nbsp; For purposes of simplification, the clustering configuration will be based on server pairs; it is feasible that a cluster can have a larger set of servers.&lt;br /&gt;
&lt;br /&gt;
There are two common configurations:&lt;br /&gt;
&lt;br /&gt;
*Active-Passive &lt;br /&gt;
*Active-Active &lt;br /&gt;
&lt;br /&gt;
=== Active-Passive ===&lt;br /&gt;
&lt;br /&gt;
In this configuration, both servers have the same configuration and only one server processes requests at any given time.&amp;amp;nbsp; The load-balancer will verify that the active node is available and will re-direct traffic to the passive node if a certain condition or threshold is (e.g. the web service cannot be reached, requests exceed a certain response time, etc).&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
This configuration will work for all scenarios without any specific modifications.&amp;amp;nbsp; It is possible that a user request may be lost during the transition from the active node to the passive one (or vice-versa).&lt;br /&gt;
&lt;br /&gt;
=== Active-Active ===&lt;br /&gt;
&lt;br /&gt;
In this configuration, both servers have the same configuration and both can process&amp;amp;nbsp;requests at any given time.&amp;amp;nbsp; The load-balancer will distribute the traffic based on a specific parameter (e.g. number of connections, response time, etc).&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
This configuration will work for all scenarios although for services that use [[UserContextModes|UserContextMode&amp;amp;nbsp;]]4, 5 or 6, the load-balancer must configure affinity (&amp;quot;stickiness&amp;quot;) based on source IP address (or similar).&amp;amp;nbsp; This is due to session handling as the information from the HIS will stored in memory while the user&#039;s browser is challenged for authentication.&amp;amp;nbsp; In this case, the same server must process the same request.&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== URLs and Virtual IP (VIP) ==&lt;br /&gt;
&lt;br /&gt;
The VIP associated with the load-balanced configuration must have a corresponding DNS entry.&amp;amp;nbsp; This DNS will be used for the URL that can be specified in the web.config so that the metadata.xml provided to Service Providers is meaningful.&amp;amp;nbsp; The URL must be resolved by the client workstations accessing the Orbital Lite STS web service.&amp;amp;nbsp; The VIP and DNS &#039;&#039;&#039;does not&#039;&#039;&#039; need to be routable (or resolvable) on the servers hosting the service itself.&lt;br /&gt;
&lt;br /&gt;
We recommend that the URL is meaningful to the service provider (for convenience in case they need to troubleshoot access) and that there is an appropriate web certificate that matches the DNS entry.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Generating_a_License_Key&amp;diff=13</id>
		<title>Generating a License Key</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Generating_a_License_Key&amp;diff=13"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Your upgrade or trial package should come with a temporary license. Orbital STS generates a unique key that identifies the IIS instance and web site that you installed it.&lt;br /&gt;
&lt;br /&gt;
A trial or upgrade package usually comes with a temporary/trial license key for a set number of days. After the license expires, the web application will stop working.&lt;br /&gt;
&lt;br /&gt;
Licenses are specific to the server and the IIS instance. Re-deploying the application into a new IIS site or new server will cause the license to become invalid.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
Open the STS Application and click on &amp;quot;About&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
You should see a &amp;quot;New License Key Request&amp;quot; and a textbox with encrypted data. This data includes only a GUID and IIS instance ID. This information would not typically be deemed confidential as it is not an IP address, server name, or MAC address&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
Copy that text in the textbox and e-mail it to [mailto:support@radiusworks.com support@radiusworks.com] requesting the purchased license key.&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
The support contact will send you a license.xml file.&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
Stop the IIS site hosting STS.&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
Copy the license.xml file into the /license. You may overwrite the existing file, or rename it.&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
Start the IIS site hosting STS.&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
Open the STS Application and click on &amp;quot;About&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
Verify that you now have a &amp;quot;Perpetual&amp;quot; or &amp;quot;Subscription&amp;quot; license&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Encrypting_the_web.config&amp;diff=11</id>
		<title>Encrypting the web.config</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Encrypting_the_web.config&amp;diff=11"/>
		<updated>2026-10-19T14:55:46Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; As the web.config contains sensitive information, it is important that it is encrypted.&lt;br /&gt;
&lt;br /&gt;
The encryption should only occur once the validation of the application has been completed, as the encryption process is not easily reversible.&lt;br /&gt;
&lt;br /&gt;
The process below describes the process to encrypt with a machine-specific key where each server instance will have its own encrypted copy of the configuration file.&lt;br /&gt;
&lt;br /&gt;
== Make a backup of the web.config ==&lt;br /&gt;
&lt;br /&gt;
Copy the web.config into a secure location.&amp;amp;nbsp; You must ensure that the password and any other information that is sensitive be extracted.&amp;amp;nbsp; This allows the administrator to make configuration changes in the future and provides a starting point.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;br/&amp;gt; Prepare the Web.Config ==&lt;br /&gt;
&lt;br /&gt;
One line in the web.config has to be temporarily commented.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;section name=&amp;quot;STSSettings&amp;quot; type=&amp;quot;LiteSTS.Common.Configuration.STSConfig&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
should be changed to&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;!-- &amp;lt;section name=&amp;quot;STSSettings&amp;quot; type=&amp;quot;LiteSTS.Common.Configuration.STSConfig&amp;quot;/&amp;gt; --&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Encrypt the web.config ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; Open the command prompt as an administrator.&lt;br /&gt;
&lt;br /&gt;
Navigate to &amp;quot;C:\Windows\Microsoft.NET\Framework\v4.0.30319&amp;quot;;&amp;amp;nbsp; e.g. &amp;quot;cd C:\Windows\Microsoft.NET\Framework\v4.0.30319&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Run the following command and change it to reflect the actual location of the web application:&lt;br /&gt;
&lt;br /&gt;
aspnet_regiis.exe -pef STSSettings &amp;quot;D:\orbital-lite&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;br/&amp;gt; Verify the encryption of the web.config ==&lt;br /&gt;
&lt;br /&gt;
Confirm that no sensitive data remains in the web.config&lt;br /&gt;
&lt;br /&gt;
== Finalize the Web.Config ==&lt;br /&gt;
&lt;br /&gt;
We need to change back the line that was previously commented.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;!-- &amp;lt;section name=&amp;quot;STSSettings&amp;quot; type=&amp;quot;LiteSTS.Common.Configuration.STSConfig&amp;quot;/&amp;gt; --&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
should be changed back to&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;section name=&amp;quot;STSSettings&amp;quot; type=&amp;quot;LiteSTS.Common.Configuration.STSConfig&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test the application ==&lt;br /&gt;
&lt;br /&gt;
== Ensure that the application is operating as expected. ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Creating_Certificates&amp;diff=9</id>
		<title>Creating Certificates</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Creating_Certificates&amp;diff=9"/>
		<updated>2026-10-19T14:55:45Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= &amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Creating Certificates&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;There are several ways to create the certificates needed by the STS. The biggest distinction in the certificates for the purposes of deployment is &#039;&#039;&#039;self-signed&#039;&#039;&#039; and issued by &#039;&#039;&#039;Certificate Authority&#039;&#039;&#039; (CA).&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Certificate Authority&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;This is a trusted entity between two or more parties.&amp;amp;nbsp; Organizations may have an internal CA (e.g. Microsoft Certificate Services) for which all internal workstations and servers will accept certificates from.&amp;amp;nbsp; In some cases, external CAs may be used due to the application being public and used by systems that cannot be remotely configured.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Self-Signed&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Self-signed certificates are more appropriate for non-production environments. These can be generated by the administrator locally on the server or using tools (e.g. OpenSSL).&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;The main issue with self-signed certificates is that may not be trusted by the systems using them.&amp;amp;nbsp; For example, in a development environment a self-signed web server certificate may generate warning on the workstations testing the service.&amp;amp;nbsp; Or a service provider may have their login process report errors.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;For the intents of encryption or digital signatures a self-signed certificate is technically valid; i.e. it will protect the data in the expected manner.&amp;amp;nbsp; The primary thing missing is assurance provided by a trusted entity (i.e. the Certificate Authority).&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Basic Requirements for Certificates&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;The private key should be at least 2048 bits in length; ideally 4096 bits or higher should be used.&amp;amp;nbsp; The longer the key, the more likely it is able to withstand cryptographic attacks.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;A current hash such as SHA256 or SHA512 should be used.&amp;amp;nbsp; MD5/SHA1 have been deprecated in most implementations.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;The common name for the certificate should be something valid and representative of the service being used.&amp;amp;nbsp; E.g. if the STS development is located at [https://stsdev.hospital.org https://stsdev.hospital.org], then the common name should be “stsdev.hospital.org”.&amp;amp;nbsp; This ensures alignment in the overall configuration of the environment and prevents potential browser errors with mismatched names.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Corporate Encryption Polices&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Administrators will typically adhere to certificate management practices as set by internal policies or procedures.&amp;amp;nbsp; These may indicate how certificates can be deployed&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Private Keys&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;A private key should never be shared outside of the internal system.&amp;amp;nbsp; Your service provided should never require for you to send them their private key and vice-versa.&amp;amp;nbsp; Once that private key is in the hands of an untrusted party, the security (self-repudiation) of that encryption or signing key is void.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Click here what to provide your Service Provider.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Generating a Self-Signed Certificate for SAML Signatures&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;For the STS installation, a certificate must be used to digitally sign the SAML assertions.&amp;amp;nbsp; The STS requires access to the private key in order to perform that action.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;OpenSSL is a great tool to generate certificates, but a quicker way to generate a test or development certificate is to use [https://www.samltool.com/self_signed_certs.php Onelogin’s SAML Tool]&amp;amp;nbsp;.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Using OneLogin&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Use the OneLogin tool making sure you fill out the common name to match your STS instance, the bit key length of 2048 bits and a SHA256/SHA512 digest.&amp;amp;nbsp; Enter a good password (8-12 characters) and make note of it as it will be required again.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Copy the generated contents of the “X.509 cert” textbox in a text editor (e.g. Notepad).&amp;amp;nbsp; Save the file with a name of your choice but with a CER extension; e.g. “hospital.cer”.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Copy the generated contents of the “Private Key” textbox in a text editor (e.g. Notepad).&amp;amp;nbsp; Save the file with a name of your choice but with a KEY extension; e.g. “hospital.key” in the same location as the CER file in the previous step.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;You now need to generate a PFX (PKCS #12) that Windows server and the STS can process.&amp;amp;nbsp; Download and install.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;From the OpenSSL command prompt navigate to the folder where you stored your CER and KEY files.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Enter the following command:&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;openssl pkcs12 -export -out hospital.pfx -inkey hospital.key -in hospital.cer&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;You will be prompted for the password from step 1 as well requested to enter a new password to protect the PFX file.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:12.0pt&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:&amp;quot;&amp;gt;Using OpenSSL&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:normal&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: 12pt;&amp;quot;&amp;gt;Launch the OpenSSL command prompt and navigate to the folder where you wish to store your certificate files&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size: 16px;&amp;quot;&amp;gt;In this example we will create a certificate with 4096 bit private key for a web server names &amp;quot;stsproduction.hospital.org&amp;quot;.&amp;amp;nbsp; This certificate will be valid for 365 days.&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size: 16px;&amp;quot;&amp;gt;Enter the following command:&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;pre&amp;gt;openssl req -x509 -newkey rsa:4096 -sha256 -keyout ourcertificate.key -out ourcertificate.crt -subj &amp;quot;/CN=stsproduction.hospital.org&amp;quot; -days 365&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size: 16px;&amp;quot;&amp;gt;Your will be prompted for a password for key store.&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size: 16px;&amp;quot;&amp;gt;After enter the following command to generate a PFX that can be used on a Windows Server or with Orbital Lite STS directly:&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;pre&amp;gt;openssl pkcs12 -export -name “stsproduction.hospital.org” -out ourcertificate.pfx -inkey ourcertificate.key -in ourcertificate.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size: 16px;&amp;quot;&amp;gt;You will be first asked for the password in the key store, and then for a password that you will use to protect the exported PFX file.&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Configuration_Settings&amp;diff=7</id>
		<title>Configuration Settings</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Configuration_Settings&amp;diff=7"/>
		<updated>2026-10-19T14:55:45Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This section describes the configuration elements in the web.config that allow the administrator to control the behaviour and features in Orbital Lite STS.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Key_Concepts_for_Orbital_Lite_STS|Key Concepts for Orbital Lite STS]]&lt;br /&gt;
&lt;br /&gt;
[[UserContextModes|UserContextModes]]&lt;br /&gt;
&lt;br /&gt;
[[UserContextHash|UserContextHash]]&lt;br /&gt;
&lt;br /&gt;
[[STS_Configuration_via_Web.Config|STS Configuration via Web.Config]]&lt;br /&gt;
&lt;br /&gt;
[[Encrypting_the_web.config|Encrypting the web.config]]&lt;br /&gt;
&lt;br /&gt;
[[Audit_File|Audit File]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Authorization_Principles&amp;diff=5</id>
		<title>Authorization Principles</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Authorization_Principles&amp;diff=5"/>
		<updated>2026-10-19T14:55:45Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Organizations who integrate the STS with their legacy applications always adequate precautions in ensuring that the security controls are in place.&amp;amp;nbsp; While authentication (e.g. [[UserContextModes|UserContextModes]]) is the primary method by which unauthorized access is managed, the other aspect that needs to be considered is authorization.&amp;amp;nbsp; Authorization takes the additional step to verify or make the decisions if a user should have access to the external application. &amp;amp;nbsp; There are three tiers in managing access to external service providers:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;At the legacy application level&#039;&#039;&#039;: in this case the application itself determines if the user is authorized (typically via roles) to access the external service providers.&amp;amp;nbsp; Most implementations will have the logic in the application decide if the link to the external service provider should be displayed or rendered. &lt;br /&gt;
#&#039;&#039;&#039;Leveraging Orbital Lite STS&#039;&#039;&#039;: using it&#039;s Allow/Deny rules and leveraging group memberships on directory services.&amp;amp;nbsp; Here the STS will check if the users is a member of a specific group and grant access to the external provider accordingly &lt;br /&gt;
#&#039;&#039;&#039;Using Service Provider access controls&#039;&#039;&#039;: some service providers control the provisioning based on an approved user list or designated roles.&amp;amp;nbsp; In federated identifies with authenticated identity providers (based on contractual stipulations), the role assignment and its managements may be delegated to the source system; e.g. a hospital has 3 roles defined with the SP and will assign them accordingly in the source application. &lt;br /&gt;
&lt;br /&gt;
Ideally all three tiers should be implemented to ensure a highly-controlled access model.&amp;amp;nbsp; Realistically, there may be undue operational overhead and complexity.&amp;amp;nbsp; In additional performing unnecessary access control validation may add latency and impact performance. Here we present the recommended minimum access controls per UserContext Mode.&lt;br /&gt;
&lt;br /&gt;
== Recommended Access Control Tiers ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;1096&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UserContextMode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Tier 1: Source Application&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Tier 2: Orbital Lite STS&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Tier 3: Service Provider&lt;br /&gt;
|-&lt;br /&gt;
| 1: Individual Hash&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;Yes, display link for authorized users&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional&lt;br /&gt;
|-&lt;br /&gt;
| 2: Organizational Hash&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;Yes, display link for authorized users&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional&lt;br /&gt;
|-&lt;br /&gt;
| 3: Individual Plaintext Password&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;Yes, display link for authorized users&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;Yes, check for authorization&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional&lt;br /&gt;
|-&lt;br /&gt;
| 4: Windows Authentication&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional, display link for authorized users&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;Yes, check for authorization&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional&lt;br /&gt;
|-&lt;br /&gt;
| 5: Client-side Certificates&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional, display link for authorized users&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;Yes, check for authorization&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6: SSO Cookie&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional, display link for authorized users&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;Yes, check for authorization&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional&lt;br /&gt;
|-&lt;br /&gt;
| 7: ADFS Integration&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional, display link for authorized users&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;span style=&amp;quot;color:#e67e22&amp;quot;&amp;gt;Optional, leverage ADFS to assign assertions&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Optional&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Additional Compensating Controls ===&lt;br /&gt;
&lt;br /&gt;
Organizations are strongly encouraged to review logs and audit user activity at least monthly.&amp;amp;nbsp; If possible, the activity at the Service Provider level should be reviewed and authorized access validated.&amp;amp;nbsp; This should be done in collaboration with both parties, as the SP typically has no visibility into the userbase at the organization, and the organization may not have the knowledge to interpret the activity generated by the SP logs/reports.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
	<entry>
		<id>https://sts.radiusworks.com/wiki/index.php?title=Audit_File&amp;diff=3</id>
		<title>Audit File</title>
		<link rel="alternate" type="text/html" href="https://sts.radiusworks.com/wiki/index.php?title=Audit_File&amp;diff=3"/>
		<updated>2026-10-19T14:55:45Z</updated>

		<summary type="html">&lt;p&gt;Theluis-admin: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The STS Audit file provides the business (i.e. Privacy, Clinical Informatics, etc) with information on the activity related to the Service Providers.&lt;br /&gt;
&lt;br /&gt;
Using these files the following key data measurements can be obtained:&lt;br /&gt;
&lt;br /&gt;
*User activity audits &lt;br /&gt;
*Service volumes &lt;br /&gt;
*STS performance metrics &lt;br /&gt;
&lt;br /&gt;
Each server has it own audit file, so in an environment where more than one server processes requests, then all audit files should be reviewed.&lt;br /&gt;
&lt;br /&gt;
== Audit File Format ==&lt;br /&gt;
&lt;br /&gt;
Every user interaction when executing properly will have two events in the audit event:&lt;br /&gt;
&lt;br /&gt;
*the beginning of the request when the source system re-directs the user to the STS &lt;br /&gt;
*the completion of the request when the STS re-directs the user to the Service Provider; this can be successful or a failure (if there is an error in STS processing the request) &lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
Each user interaction will have an event its separate row and are pipe-delimitted “|”.&lt;br /&gt;
&lt;br /&gt;
The fields below are in order as stored in the audit file.&lt;br /&gt;
&lt;br /&gt;
=== Audit Time Stamp ===&lt;br /&gt;
&lt;br /&gt;
This segment is actually set in the web.config under the web.config. This will provide the local time as defined in the Windows system format to the millisecond.&lt;br /&gt;
&lt;br /&gt;
=== Remote Address ===&lt;br /&gt;
&lt;br /&gt;
This is the client IP address of the user’s browser that is interacting with the STS.&lt;br /&gt;
&lt;br /&gt;
=== Session ID ===&lt;br /&gt;
&lt;br /&gt;
This is the unique session ID for the user’s interaction. Keep in mind that the session will remain active, so it is possible that the users can have more than one pair of interaction events.&lt;br /&gt;
&lt;br /&gt;
The session ID is the main correlating factor that allows analysts to perform measurements for transaction times or abandoned requests.&lt;br /&gt;
&lt;br /&gt;
=== NameID ===&lt;br /&gt;
&lt;br /&gt;
This is the NameID that was either provided by the source system, or obtained by the STS. This will be provided as part of the SAML request that the Service Provider will be able to audit against.&lt;br /&gt;
&lt;br /&gt;
=== NameQualifier ===&lt;br /&gt;
&lt;br /&gt;
This is the NameQualifierthat was either provided by the source system, or obtained by the STS. This will be provided as part of the SAML request that the Service Provider will be able to audit against.&lt;br /&gt;
&lt;br /&gt;
=== UserContextTimeDate ===&lt;br /&gt;
&lt;br /&gt;
This the time/date in the supported format that the source system submitted to the STS. This is helpful to determine any significant network latency (to the second) and allows the analyst to correlate the request from the source system if necessary.&lt;br /&gt;
&lt;br /&gt;
=== UserContextMode ===&lt;br /&gt;
&lt;br /&gt;
This is a value indicating with UserContextMode is being used. This would be a value from 1 to 5 (as of v1.93).&lt;br /&gt;
&lt;br /&gt;
=== UserContextID ===&lt;br /&gt;
&lt;br /&gt;
This is the UserContextID submitted by the source system or the username that was authenticated by the STS (in case of UserContextMode 4 or 5).&lt;br /&gt;
&lt;br /&gt;
=== UserContextDomain ===&lt;br /&gt;
&lt;br /&gt;
This is the AD domain of the authenticated UserContextID if UserContextMode 4 was used.&lt;br /&gt;
&lt;br /&gt;
=== UserContextWorkstation ===&lt;br /&gt;
&lt;br /&gt;
This UserContextWorkstation value would be the hostname or IP address provided if the source system is using UserContextMode 3.&lt;br /&gt;
&lt;br /&gt;
=== PatientContextIDType ===&lt;br /&gt;
&lt;br /&gt;
This is the type of Patient ID being provided by the source system. Values can be “MRN” or “JHN”.&lt;br /&gt;
&lt;br /&gt;
=== Sanitized PatientContextID ===&lt;br /&gt;
&lt;br /&gt;
This is the Patient ID provided for Privacy or Security incident audit. Note that this value will not be stored in full and will be processed and sanitized in three modes. See&lt;br /&gt;
&lt;br /&gt;
[https://radiusworks.atlassian.net/wiki/spaces/OLS/pages/295496/Configuration+Settings Configuration Settings] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Sanitized PatientContextLastName ===&lt;br /&gt;
&lt;br /&gt;
This is the Patient’s Last Name sanitized to protect the PHI.&lt;br /&gt;
&lt;br /&gt;
=== UAO ===&lt;br /&gt;
&lt;br /&gt;
This is the UAO value (if applicable) associated with the request.&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
&lt;br /&gt;
This provides the status of the request.&lt;br /&gt;
&lt;br /&gt;
*Unknown - this is the start of the interaction; at this point, the user identity has not been validated or established. &lt;br /&gt;
*Success - all processing has been completed and the user has been re-directed to the Service Provider &lt;br /&gt;
*Failure - there was an error in processing the request and the administrator should review the operational STS log for additional information. &lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2019-04-04 15:54:17,401 56437|10.105.1.221|dmv5zj1mfvb2ze5x5vz5pali|mark|corporate.hospital.on.ca|2019-04-04 16:00:00|2||JHN|635353|Unknown&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2019-04-04 15:54:17,439 56475|10.105.1.221|dmv5zj1mfvb2ze5x5vz5pali|mark|corporate.hospital.on.ca|2019-04-04 16:00:00|2||JHN|635353|Success&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Performance Metrics ==&lt;br /&gt;
&lt;br /&gt;
In the example below one can calculate the difference in the two time stamps to establish that this STS took 38ms to process the request.&lt;/div&gt;</summary>
		<author><name>Theluis-admin</name></author>
	</entry>
</feed>