RealityServer Configuration

UAC Directives

The following directives configure User Access Control (UAC).

uac_user_limit

Description Maximum number of users
Syntax uac_user_limit max
Context global
Default 0

The maximum number of users that can access RealityServer at a time. If set to 0 (or not given) then unlimited users may access.

uac_session_timeout

Description UAC session timeout
Syntax uac_session_timeout seconds
Context global
Default 600

To prevent denial of service UAC sessions will expire after a period of time. If a session is not accessed in uac_session_timeout seconds then it is deleted and the session slot made available to other potential users.

uac_auto_session

Description UAC automatic session allocation
Syntax uac_auto_session on|off
Context global
Default on

By default RealityServer automatically allocates a session to a user if they access a UAC controlled url without a session cookie set. This behaviour can be disabled by setting uac_auto_session to off. In this case, users have to explicitly request a session id via the /uac/create/ url to obtain a session before accessing UAC controlled urls.

uac_session_cookie

Description UAC session cookie name
Syntax uac_session_cookie cookie_name
Context global
Default rs-uac-sid

UAC is implemented via session cookies. When a user is granted access a session cookie is set containing the generated session id. The name of the cookie set can be controlled via the uac_session_cookie directive.

uac_session_cookie_domain

Description UAC session cookie domain
Syntax uac_session_cookie_domain domain
Context global
Default None

By default UAC session cookies do not set a 'Domain' attribute. This makes the cookies only applicable to the exact domain that the request was made from. By using the uac_session_cookie_domain directive the 'Domain' attribute of the cookie is set to the provided domain

uac_management_base_url

Description UAC session management url
Syntax uac_management_base_url url
Context global
Default /uac/

RealityServer provides UAC management via the uac_management_base_url url. Users can create and destroy sessions as well as associate scopes with a session by accessing commands on the url. The url used for this can be changed by setting this directive.

uac_same_site

Description Value for the SameSite cookie attribute
Syntax uac_same_site none|lax|strict
Context global
Default By default no SameSite attribute is set

Starting from Chrome 80 web browsers are beginning to enforce the IETF "Incrementally Better Cookies" proposal. This will affect UAC when the URL of the site hosting the application is not the same as the URL used to access RealityServer. Setting uac_same_site adds the given SameSite attribute to all UAC cookies to allow this to be controlled. Typically this would be set to none to allow the UAC cookies to be sent with RealityServer requests.

By default no SameSite attribute is set so web browser default behaviour will apply.

Note that when set to none then uac_secure is automatically enabled to ensure compliance with the proposal. If this behaviour is not desired then uac_secure should be explictly disabled. Although currently there is no use case for this behaviour.

uac_secure

Description UAC Secure cookie attribute
Syntax uac_secure on|off
Context global
Default on if uac_same_site is none, otherwise off

If enabled adds the Secure attribute to all UAC cookies.