Wiki source code of Single Sign-On (SSO) via SAML

Version 3.1 by Mark Kohlmann on 2025/05/10 00:25

Hide last authors
Mark Kohlmann 1.1 1 ShowRunner version 4.0 adds support for Single Sign-On (SSO) using SAML.  This capability allows ShowRunner to integrate with 3rd party authentication and authorization systems commonly used to unify access to corporate information systems.
2
3 ==== Requirements: ====
4
5 * ShowRunner 4.0 or later
6 * SSO License enabled in the processor's ShowRunner license
7 * A 3rd party identity provider that supports SAML 2.0 (Okta, Microsoft EntraID, etc)
8
9 ==== Features: ====
10
11 * Authenticate users using 3rd party identity provider which may support Multi-Factor Authentication
12 * User authorization group mapped to ShowRunner group
13 * Apply user's PIN code
14 * Apply user's touchscreen access level: user or technician
15 * Set how a user can login: username and/or PIN
16 * Set where a user can login: touchpanel or web
17
18 ==== SAML IdP Claim Mapping: ====
19
20 |=Function|=Attribute Name|=Required|=Expected Value|=Sample Values|=Notes
Mark Kohlmann 3.1 21 |User Id|
Mark Kohlmann 1.1 22
23 {{{http://schemas.microsoft.com/identity/claims/objectidentifier}}}|Y|GUID or unique identifier within the IdP system|
24
Mark Kohlmann 3.1 25 {{{101507cb-90da-473d-bfa7-9967979824e7 00ab9c907defGhIJ1697}}}|If a GUID is not returned then the value is hashed and converted to a GUID
Mark Kohlmann 1.1 26
Mark Kohlmann 3.1 27 |Username|
28
Mark Kohlmann 1.1 29 {{{http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier}}}|Y|username or email address|
30
Mark Kohlmann 3.1 31 {{{john.doe jane.doe@example.com}}}|
Mark Kohlmann 1.1 32
Mark Kohlmann 3.1 33 |Display Name|
34
Mark Kohlmann 1.1 35 {{{http://schemas.microsoft.com/identity/claims/displayname}}}|Y|User's name
36 Example: John|
37
38 {{{John Doe}}}|
39
Mark Kohlmann 3.1 40 |User Group|
41
Mark Kohlmann 1.1 42 {{{http://schemas.microsoft.com/ws/2008/06/identity/claims/role}}}|Y|User's Group Name|
43
Mark Kohlmann 3.1 44 {{{Administrators End Users General Users}}}|Must match a ShowRunner User Group name
Mark Kohlmann 1.1 45
Mark Kohlmann 3.1 46 |PIN|pin|N|User's passcode/PIN code for touchscreen|
Mark Kohlmann 1.1 47
48 {{{123456}}}|
49
Mark Kohlmann 3.1 50 |Touchscreen Access Level|touchscreenAccessLevel|N|Access level for the user when access a touchscreen|
Mark Kohlmann 1.1 51
Mark Kohlmann 3.1 52 {{{Valid Values: None, Technician, User Example: Technician}}}|
Mark Kohlmann 1.1 53
Mark Kohlmann 3.1 54 |Login Permitted|userLoginPermitted|N|Locations where a user can login.  Multiple values are supported|
Mark Kohlmann 1.1 55
Mark Kohlmann 3.1 56 {{{Valid Values: None, Touchpanel, Web Example: Touchpanel,Web}}}|Comma separated listed of valid values
Mark Kohlmann 1.1 57
Mark Kohlmann 3.1 58 |Login Method|userLoginMethod|N|How a user can login|
Mark Kohlmann 1.1 59
Mark Kohlmann 3.1 60 {{{Valid Values: None, Username, PIN Example: Username,PIN}}}|Comma separated listed of valid values
Mark Kohlmann 1.1 61
62 ==== Notes: ====
63
64 * Value mapping must be done on IdP side
65 * A successful authentication with the IdP will add the user to ShowRunner's user database if they don't exist
66 * User matches occurs based on the User Id, ensure that the User Id is unique within your IdP
67 * All user values will be updated if they change within the IdP system
Mark Kohlmann 2.1 68 * Non-Required values that are not sent with the SAML assertion will not update the ShowRunner's users equivalent value
Mark Kohlmann 1.1 69
70 ==== Example Integrations: ====
71
72 * [[Microsoft Entra ID>>xwiki:SHOWRUNNER™ User Guide & Wiki.SHOWRUNNER™ Appendix.Single Sign-On (SSO) via SAML.Microsoft Entra ID.WebHome]]
73 * [[Okta>>xwiki:SHOWRUNNER™ User Guide & Wiki.SHOWRUNNER™ Appendix.Single Sign-On (SSO) via SAML.Okta.WebHome]]