0

I have a chat plugin setup through a Banno External Application -> Plugin Card, with authentication via an auth grant flow that works 100% for basic authenticated chat. I am trying to get our Twilio embedded video for our chat-service to connect inside in the Banno Dashboard, and we're having an issue with Camera and Microphone access/permissions. If I run our service in full screen mode, outside of the Banno Dashboard iframe, the video works 100%. If I then try and run inside the Banno Dashboard iframe, the video doesn't auto-start (even though autoplay and muted are set to true for our HTML video tag), and I get an "Not allowed to call getUserMedia" error.

When looking at the iframe provided by Banno it appears to have the sandbox attribute set, which I think is knocking down autoplay, and hence causing our twilio video not to start, but rather present "play" buttons. The sandbox attribute says it enables an extra set of restrictions for the content in an iframe, and my guess it that's stopping the video from starting.

The iframe HTML tag with the sandbox attribute I see is below:

<iframe scrolling="no" frameborder="0" sandbox="allow-top-navigation-by-user-activation allow-scripts allow-forms allow-same-origin allow-downloads allow-modals" referrerpolicy="strict-origin-when-cross-origin" no-footer="" src="https://--first party URI is here inserted--/?channel=mobile"> </iframe>

My question is does anyone have video working under a Banno Plugin Card/Exernal Application, and how did you get around the iframe sandbox autoplay and camera/mic permission issues inside the Banno Dashboard?

The autoplay suppression shown on and Android mobile device

Dan Coughlin
  • 1,104
  • 10
  • 14

1 Answers1

1

It sounds like you're encountering some of the Restrictions that are part of the Plugin Framework.

Accessing the microphone isn't currently listed as an explicit restriction, but would fall under the "Native APIs / Operating System APIs" section. (We'll get the docs updated to clarify this specific restriction.)

The sandboxing attributes (same link as above) prevent autoplaying video in the plugin's Card Face.

Jaime Lopez Jr.
  • 476
  • 1
  • 3
  • 9
  • We've updated the docs to clarify that accessing the user's microphone is not allowed per the restrictions for plugins. – Jaime Lopez Jr. Feb 08 '23 at 23:35
  • Okay so it looks like video under the plugins's Card Face would be restricted both by lack of camera/mic permission, no autoplay, and therefore not possible. But, do you think video might work it we tried to make use of a primary action button for our service that triggers a full screen view of our app that launces a video chat (at least on the browser, not mobile app). At that point it looks like our service would be the 1st party domain in the browser and have it's own DOM.... – Dan Coughlin Feb 09 '23 at 20:01
  • 1
    That does sound like it would feasibly work, although we've not tried that ourselves. – Jaime Lopez Jr. Feb 09 '23 at 23:42