Mattermost, Inc.

Zoom Plugin can't verify

Hello

Summary

If I followed the instructions provided at https://github.com/mattermost/mattermost-plugin-zoom. The Zoom icon is visible but mattermost says the account could’nt be verified even though the email address is the same.

Steps to reproduce

Docker version 1:19.03.7-1
nginx-mainline 1.17.9-1
mattermost team edition 5.20.0
hosted under subpath */mattermost
installed and configured mattermost zoom plugin
tried to start a video meeting

Expected behavior

A video meeting should be started.

Observed behavior

Hey @mkx-l,
can you verify both accounts have the exact same casing?
We’re also currently in the process of getting an Oauth version of the zoom plugin ready for release were the user accounts are linked to their zoom accounts in an additional step, this should resolve this issue going forward.

If you want to give it a try you can download the version 1.2.0 from here: https://github.com/mattermost/mattermost-plugin-zoom/releases

And follow the instructions here:

Cheers,
Sven

Thank you for your fast answer, but what do you mean exactly by “casing”?
Could you provide some information on how to set it up? I’m a bit overwhelmed.

Happy to elaborate.
So the issue here is that the zoom api does store emails with upper and lower case mixed or keeps their casing as it’s being received by the login provider.
Say your email is: First.Last@Company-Name.tld
Mattermost stores this as all lower-case, a lot of software does.
So it looks like this: first.last@company-name.tld
Unfortunately this causes issues when the Zoom API is comparing the email address they store vs. the one they get from Mattermost because First.Last@Company-Name.tld is not the same as first.last@company-name.tld.

As for instructions you really just have to follow the steps in the second link I posted. You have to fill out all the fields for OAuth authentication. I’m currently looking through them to see if there’s a way to make them more clear.

But for now you only need to do the following steps (taken from the docs):

To generate an API Key and API Secret requires a Pro, Business, Education, or API Zoom plan.

  1. Set the OAuth ClientID and OAuth Secret, generated by Zoom and used to create meetings and pull user data:
  • Go to https://marketplace.zoom.us/ and log in.
  • In the top left click on Develop and then Build App.
  • Select OAuth in Choose your app type section.
  • Enter a name for your app and disable Intend to publish this app on Zoom Marketplace.
  • Choose Account-level app as the app type.
  • Click Create.
  • Enter the Company Name and Developer Contact Information for your app.
  • Go to the App Credentials tab on the left. Here you’ll find your Client ID and Client Secret.
  • Enter a Valid Redirect URL for OAuth (https://<SiteUrl>/plugins/zoom/oauth2/complete) and add the same url under Whitelist URL.
    • SiteUrl should be your mattermost server url
  • Add following scopes “user:read”, “meeting:write”, “webinar:write”, “recording:write”
  • Paste the Client ID and Client Secret into the fields in the System Console, and hit Save.
  • Generate an Encryption Key to save the encryped tokens.

Filling out the API Key and API Secret fields should not be necessary.

The email address was lowercase in both cases.

Still I have problems to setup the OAuth. When I want to install the Zoom App I get the following error: Not authorized, missing Mattermost user id.

Would this note help https://github.com/mattermost/mattermost-plugin-zoom/blob/master/README.md#note?

No, unfortunately not. Even with the paid zoom account it is not working in mattermost.

@mkx-l, just to clarify, where did you observe the “missing Mattermost user id” error message? Is this in the Mattermost Server’s system console? An ephemeral message? If you can share the raw logs or a screenshot for context, that will help.

whoops, sorry. It is after I clicked on install when creating the app at https://marketplace.zoom.us/. A new tab opens trying to access the mattermost URL https:///plugins/*(something) and there I get a clean page with “missing Mattermost user id” written on it.

Thanks, @mkx-l! Bear with me, I don’t have a /ton/ of Zoom configuration experience, but nothing in the existing setup flow should have you opening a new tab that takes you to the oAuth page. I’m wondering if something on Zoom’s side has changed.

Are you able to share some screenshots showing the flow and errors you’re running into?

001

002

That’s every step I’ve done. At the end I can hit install and the mentioned tab opens.

Thanks for the excellent detail, @mkx-l! I’ve asked @aaronrothschild on our community server to see if he might be able to lend a hand here.

One thing I notice: your Mattermost server seems to be using a subpath (exampleserver.de/mattermost) – and I think our Zoom plugin currently has an issue with that per https://mattermost.atlassian.net/browse/MM-23411. Any chance that might be the issue?

1 Like

I tried the possible fix by editing the main.js file by hand. I still get an error in the developer console, but I think the path is now correct.


What about the installation procedure? Do I need to create the OAuth app in zoom until I get the Client ID&Secret then setup and start the plugin, finish the app installation (by clicking on Install in the last screenshot I provided)? Did someone tried this before and can confirm?

I have never seen this error on my Mac before. Perhaps its because im on the Catalina beta? Does anyone know how I might fix this problem when trying to download an app off the internet? Thanks

Looks like the subpath was the problem all the time. The workaround at https://mattermost.atlassian.net/browse/MM-23411 worked. Hoping to see a fix soon.
Thank you very much to all of you for helping me out.