mattermost-plugin-zoom icon indicating copy to clipboard operation
mattermost-plugin-zoom copied to clipboard

Different Zoom API keys/secrets for different Mattermost Teams

Open yoannspace opened this issue 4 years ago • 7 comments

Hi, What if I have a server running with Mattermost and 5 different teams (with users from totally different backgrounds and groups, so 5 very different teams). I want to add the Zoom integration on 2 teams only - each of those teams have their own Zoom accounts (API key / API secret). In the administration and the documentation I can only add one API key/secret and it seems it will be used for all Teams which is not what I would hope for or imagine. Is there a way to do this? Multiple integration of Zoom depending on the Mattermost teams. Thanks, Yoann

yoannspace avatar Oct 24 '19 14:10 yoannspace

Dear @levb, Did you get a chance to discuss this already? Thanks, Yoann

yoannspace avatar Nov 18 '19 15:11 yoannspace

We have discussed this, but have no immediate plans to work on this - the current capabilities of the plugin framework do not provide for this functionality easily, and re-building the configuration UI within the plugin itself to support this functionality does not appear well-justified. We would like to develop the capability of having team-specific configurations (with UI) provided by the plugin framework first.

levb avatar Dec 03 '19 14:12 levb

@levb Maybe it is not the best approach, but what about using the settings panel for this? /zoom teamSettings might show a settings panel to configure all this for the current team. As soon as I finish the FreeText for settings, it is easily done.

larkox avatar May 14 '20 08:05 larkox

As a first approach we could do the following:

  • Add a new command only available for sys admins like /zoom teamsettings. This will open a interactive dialog to introduce Client ID, Client Secret and Webhook Secret.
  • If the settings are left blank (or no settings are set) it will use the global settings.
  • For user level apps, make sure to store the tokens separate for each team and global. The same user may connect to different accounts in different teams.
  • Update error messages to denote that you may not be able to connect because you are not connected to this team's Zoom account.

larkox avatar Jan 13 '21 10:01 larkox

@larkox my team is looking to take this on. We have a very similar use to @yoannspace, we have a multi-tenant environment so we need the ability for users to link their MM account to different zoom accounts. In your recommended approach above would a user from team X, who has a paid account on MM team X, be able to create a meeting in a MM team Y channel or would they have to have an account on team Y as well?

Also any thoughts on the ability to host multiple zoom severs? We would like to eventually provide users with the ability to "bring your own zoom licenses". Set aside security concerns for a second, is there anything that would stop us technically from just adding "Zoom URL" to the /zoom teamsetting

Mmoushon avatar Jun 22 '21 14:06 Mmoushon

I will leave @aaronrothschild to make the final decission, but here is my take.

A meeting started from certain team will use the team settings. Therefore, if I belong to two different teams, I would need two different zoom accounts, and connect those two times, one for each team.

Another take, that I like less, but it is also interesting, would be to not tie things to teams, and just define several zoom accounts. That way, when you connect, instead of /zoom connect, you say /zoom connect myCompany. That would allow to map each user to their account, so they can create the zoom room always with their account.

larkox avatar Jun 25 '21 10:06 larkox

Set aside security concerns for a second, is there anything that would stop us technically from just adding "Zoom URL" to the /zoom teamsetting

If we set security aside, I see no big problem the URL being part of the configuration (either on the teamsettings approach, or the accounts approach).

larkox avatar Jun 25 '21 11:06 larkox