Introduction
Parts of Viz Mosart can be run with encrypted transport (HTTPS) and user sign-in (OpenID Connect). This chapter describes how the security layers of a Mosart installation fit together, how to choose an authentication mode, and how to set everything up: the identity provider, the certificates, the Mosart Web Apps and the Mosart servers.
Note: Before taking your system into production, review the default security settings. Out of the box, neither HTTPS nor authentication is enabled, and the Mosart REST API accepts any caller that presents the shared REST API key.
The chapter has four sections:
Choosing an Authentication Mode: default, API key or OIDC, and what each mode means for your integrations.
Identity Provider and Certificates: what your IT department prepares and hands back.
Securing the Mosart Server: HTTPS and OIDC on the main and backup Mosart servers.
Password-Protected Features: the individually protected features that exist independently of HTTPS and OIDC.
What is secured, and by what
HTTPS and OIDC authentication secure the surfaces reachable from a browser or from another system: the Mosart Remote Controller Service, which serves the Mosart REST API and the SignalR hub, and the Mosart Web Apps with their proxy. These are the ways into a Mosart installation from outside the automation network, which is why authentication is implemented here first.
The rest of an installation is protected by other means:
The Viz Mosart desktop applications, meaning AV Automation, Manus Administrator, Media Administrator and the Mosart GUI, run inside the automation network and are protected by that network's isolation, together with the password-protected features described in this chapter. They do not take part in OIDC sign-in.
Links between Mosart components, such as Manus Administrator talking to the Remote Controller Service, use their own internal mechanisms rather than the OIDC path.
Device and newsroom protocols, meaning MOS, GPI/O, and serial or TCP device control, follow the specification of each protocol and device. Where a device offers a secured connection, Viz Mosart can be configured to use it: the Generic REST driver, for example, supports HTTPS with a choice of authentication types.
Note: Plan the automation network as a trusted zone. HTTPS and OIDC secure access into the installation, and the components inside it rely on that boundary together with the credentials described in this chapter.
How the layers fit together
In a full installation the browser, the proxy, the Web Apps server, the Mosart servers and the identity provider are all involved, and the settings are spread across them:
The browser signs in against the identity provider, through the Web Apps server, and receives a session cookie.
The Web Apps server reads the ID token to decide whether an app may open, and which controls that user sees.
For calls that reach a Mosart server, the app fetches the access token and sends it as a bearer token on REST, or as an
access_tokenquery parameter on the SignalR hub.The Mosart server validates that access token against the same authority, and reads the role from it.
Security is therefore configured in two places, separately:
The Mosart servers, main and backup, in Mosart central settings under Remote Controller Service > Security. Described in this chapter, under Securing the Mosart Server.
The Mosart Web Apps, in the Web Apps Configuration Tool. Described in the Viz Mosart Web Apps Guide at the Vizrt Documentation Center, section Configuration Tool.
Enabling one without the other leaves you half secured, and some combinations do not work at all. Three rules apply throughout:
Authentication requires HTTPS. You cannot enable sign-in over plain HTTP.
Authentication requires your own certificate. The built-in certificate authority in the Mosart Web Proxy keeps the components behind it on plain HTTP, so the Configuration Tool only offers the Authentication section in custom certificate mode.
Mosart server settings need a service restart. Nothing under Remote Controller Service > Security takes effect until you restart the Mosart Remote Control Service, and you must do it on each server.
Roles across Viz Mosart
Roles are assigned in your identity provider, never in Viz Mosart. The role names are fixed by Vizrt. The groups you assign them to are yours.
Role pair | Applies to | Enforced by |
|---|---|---|
| Named Overlays Editor | the Mosart server, on its REST API |
| Showmaker | the Mosart Web Apps server |
| Smart Panel, including the Timing Display API | the Mosart Web Apps server |
In each pair, -admin grants full control and -viewer grants read-only access. What the identity provider must put in the token, and how to configure it, is described in Identity Provider and Certificates.
Note: Assign roles before you enable authentication. A signed-in user with no role for an app does not get a read-only view, they get an unauthorized-access screen. An identity provider with no Mosart roles configured locks everybody out, which reads as a fault rather than as missing configuration.
Info: Roles are only enforced while authentication is enabled. With authentication off, every user is treated as an administrator. On the Mosart server, role enforcement currently covers the Named Overlays API; the playout surfaces accept any signed-in user, and role coverage there is tracked separately.
Setup at a glance
Four steps, in this order. The first two are usually done by your IT department, the last two in Viz Mosart.
Step | Who | What | Described in |
|---|---|---|---|
1. Identity provider | IT | Create the OIDC client, define the role names, and make sure the roles reach both tokens. | |
2. Certificates | IT | One PEM certificate with an RSA key, covering the Web Apps host and both Mosart servers. | |
3. Mosart Web Apps | Mosart administrator | HTTPS with that certificate, then authentication, in the Configuration Tool. | the Viz Mosart Web Apps Guide, section Configuration Tool, at the Vizrt Documentation Center; the essentials are summarized below |
4. Mosart servers | Mosart administrator | HTTPS and OIDC on the main and the backup server, then restart the service on each. |
The Web Apps half is configured in the Web Apps Configuration Tool and documented in the Viz Mosart Web Apps Guide at the Vizrt Documentation Center, section Configuration Tool. Three things there matter to the rest of this chapter:
In Server Configuration, HTTPS must use Custom certificate mode with your own certificate; the Authentication section only appears in that mode. Enter the Authority URL, Client ID and Client secret from step 1.
On the Studios page, confirm the Mosart main and backup server ports read 55168 once the Mosart servers are on HTTPS.
Add
offline_accessin the Scopes field. Without it an unattended screen, such as a Timing Display on the studio wall, ends up on a login page some hours after sign-in, once the session expires.
End to end verification
When all four steps are done:
Sign-in works. Open any Mosart web app. You are redirected to your identity provider and returned signed in.
The access token carries the roles. Do this before testing roles at all. Signed in, open the browser console and run:
fetch('/auth/token').then(r => r.json()).then(d => console.log(JSON.parse(atob(d.accessToken.split('.')[1]))))Look for a flat
"roles": [...]array, and check thataudmatches the OIDC audience configured on the Mosart server. If the roles are missing here but the app opened correctly, they are in the ID token only. Fix that before going on.A viewer can read but not write. As a user holding only
mosart-viewer, the Named Overlays Editor opens read-only, and a direct write to the named overlays API returns 403.An administrator can write. The same operation as
mosart-adminsucceeds.Repeat against the backup server. It is configured separately, so test it separately.
Troubleshooting
Symptom | Cause |
|---|---|
403 on writes, 200 on reads | Correct behaviour for a viewer. The feature is working. |
403 on reads as well, for a user who has a role | The role is not reaching the Mosart server. Check step 2 of Check it end to end: the roles are probably in the ID token only. |
401 on every call, with a token that looks valid | The OIDC audience does not match the token's |
401 from an integration that used to work | Expected, if it authenticates with the REST API key. See Choosing an Authentication Mode. |
With authentication enabled, every call to a server returns 500 | The Mosart server cannot reach the identity provider. The usual reasons are wrong DNS, a firewall, or an identity provider certificate that is not trusted on that machine. To check, open your Authority URL with |
A signed-in user sees an unauthorized-access screen | That user holds no role for the app. Assign one in the identity provider. |
Everything works until a failover | The backup server was not configured, or not restarted. |
A Mosart server, main or backup, is red in all web apps, while the desktop applications on that machine look normal | The service cannot load the HTTPS certificate, so its web port never starts. Often the certificate paths are wrong on that particular machine, for example when settings are copied from another server and the paths do not exist locally. Check the Mosart server log for "Failed to load the certificate". Correct the paths under Remote Controller Service > Security and restart the service on that machine. |
Certificate warnings, or a blank embedded plugin | The certificate is not trusted on that machine, or its host names do not match what was entered. |
503 or 504 from a studio route | Not a security problem. No Mosart server in the pair is currently on air. |
The Mosart server settings page opened from the Configuration Tool asks for sign-in, or reports that the administrator role is required | Expected while OIDC is enabled: the web settings editor has no browser sign-in. Edit the settings on that server from a Viz Mosart desktop application instead: in Manus Administrator type settings in the console, or in AV Automation use Devices > Settings. |