JWT app returns "invalid token"

Description
We have created a JWT app. We are trying to authenticate our API requests using JWT as instructed by Zoom. We have cloned this repo and configured our API key and secret accordingly: https://github.com/zoom/zoom-api-jwt

Error

{code: 124, message: 'Invalid access token.'}

Which App Type (OAuth / Chatbot / JWT / Webhook)?
JWT

Which Endpoint/s?
https://api.zoom.us/v2/users/email@domain.org?status=active

How To Reproduce (If applicable)
Steps to reproduce the behavior:

  1. Clone the Git repo https://github.com/zoom/zoom-api-jwt
  2. Configure with our API key and secret
  3. Run the code
  4. See error in console log output

Our particular JWT signing code is:

const secs = parseInt((new Date()).getTime() / 1000)

//Use the ApiKey and APISecret from config.js
const payload = {
    iss: config.APIKey,
    exp: secs + 60,
};
const token = jwt.sign(payload, config.APISecret)

We chose an expiration of 60 seconds. If we use milliseconds instead of seconds, we get the exact same error.

Screenshots (If applicable)
N/A

Additional context
We have also tried this Curl request:

curl --request GET --url "https://api.zoom.us/v2/users?status=active&page_size=30&page_number=1" --header "authorization: Bearer $TOKEN" --header "content-type: application/json"

We set the value of TOKEN according to your credentials page (for our app), and we get the exact same error.

We have deactivated and activated the app a number of times and this does not fix our problem either.

We notice that there are 2 entries in our app “call log” but we did not make those requests. We have been unsuccessful in every attempt to use a JWT token - both using the Git repo (NodeJS code) and using the JWT token from the credentials web page of the app.

Hi @Fitpass,

We apologize that you are running into this issue. Could you send me your Zoom Account Number located in your Account Profile page via message? Thank you.

I just tried the API 2 minutes ago and it worked (hitting the https://api.zoom.us/v2/users/me endpoint via Curl

Thanks so much for your help. Right now things are good. I don’t believe I need more support.

PS I made no changes, so it must have been a Zoom internal configuration change that enabled my API usage.

2 Likes

Hey @Fitpass,

Happy to hear we fixed your issue! :slight_smile:

Let us know if you have other questions or run into any other issues!

Thanks,
Tommy

Hi
I’m still having “Invalid access token.”, I’m not sure if I’m runnin into this issue or I have missed somthing.
My account number is 2001033667

Thanks

Hi @sara.ismail.badawy can you provide an example of your token generation method?

Am having the same issue i tried the token generated by zoom through post man to call this api
https://api.zoom.us/v2/users/mhmoudalaskalany@gmail.com/token?type=zak and am reciving
invalid access token error
can any one help me please

Hi, I am new to Zoom development. I tried to get the JWT token from the JWT app I created in the Marketplace. When I run the sdk_demo_v2_2017.sln and input the generated JWT token I get the following error:
Error Type: LastErrorType_Auth
Error Code: 10124
Error Description:
I also tried to edit the JWT through https://jwt.io/#debugger-io using the reference below:
https://marketplace.zoom.us/docs/guides/auth/jwt
I still get the same error.
I’m not sure if I am missing out steps. Thank you.

I’m having a similar issue to zoomtestjww. I have downloaded and unzipped the SDK Demo. Opened the “2017” solution in VisualStudio 2019. Then removed the references to the two missing files as described here: Can't get Zoom SDK Demo working with VS 2017 or 2019. The solution successfully builds and runs (using “Release” configuration with x86 platform). A window requesting a domain is displayed upon launch. I’ve tried different domains, including our corporate domain, the default zoom.us, as well as others. The next window appears after submitting the domain requesting “SDK JWT Token”. I’ve then retrieved the JWT token from my Zoom app (and followed the recommendations in https://marketplace.zoom.us/docs/guides/auth/jwt). However I always receive the same error described by zoomtestjww:
Error Type: LastErrorType_Auth
Error Code: 10124
Error Description:

Our account number is: 422053

Thank you.

Hi,
I was able to make it work for me. I just created a new JWT Token at jwt.io with the following payload:
“appKey”: <SDK_KEY>,
“iat”: <timestamp_in_epoch>,
“exp”: <timestamp_in_epoch>,
“tokenExp”: <timestamp_in_epoch>
I hope this will solve your issue. Have a great day! :smiley:

1 Like

That worked perfectly. Thank you very much!

2 Likes

You’re welcome! Glad it worked for you. :smile:

1 Like

Hey @mhmoudalaskalany,

Sorry for the late reply, are you still having this issue?

Thanks,
Tommy

Thanks for sharing your solution @zoomtestjww! :slight_smile:

Let us know if you have any other questions @tippettsna!

-Tommy

1 Like

I still get the same error as tippettsna did:

I did try zoomtestjww’s solution, but whether I used jwt API Key and API Secret or the SDK Key and Secret to generate the JWT token, the result was the same.

I don’t know where to find my account number.

Hi, I have the same problem as tippettsna did.
I did try zoomtestjww’s solution, but no success.
Any suggestion?

Hey @csaba.kormoczi, @nick_ortega,

Does the JWT Token generated in the App Marketplace Settings work?

Thanks,
Tommy

Hi,

Short answer: no, it does not work.

Long answer:
I have already tried a lot of different options.
The application is the default Windows SDK example, so first I have created an app in the Marketplace with a type SDK. In the app credentials page of this application I have an SDK Key and an SDK Secret. If I put any of these two in the payload (as zoomtestjww suggested, using jwt.io), I will receive the same error, that he received at the beginning (“Error Type: LastErrorType_Auth Error Code:10124 Error Description:”). If I put expired timestamps in the payload, I will receive “auth sdk failed” error message. But if the timestamps looks OK, any appKey / SDK Key results with this 10124, both the “good” one from the App Marketplace and the “bad” (random) ones as well. For this app I cannot see the possibility to create the JWT Token directly in the Marketplace.
Then I created another app in the Marketplace, but with a type JWT (although it looks strange, as the app is an SDK app), and tried to use the keys from that app. But the result is always Error 10124, either with the API Key, the API Secret in the payload. If I try to use the JWT Token generated in the Marketplace for this app, then I receive the “auth sdk failed” error.

Thanks,
Csaba

Hi,

I think I could find the cause of the problem…
From the documentation (https://marketplace.zoom.us/docs/guides/auth/jwt) it is not totally clear, but there is a need for an “iat” (“issued at”) field in the payload as well (as mentioned by zoomtestjww), and the timestamp for this field was not good for me (this should be in the past).

Thanks!

If I use the JWT Token generated by the “JWT app” (on my app management page online), I get the following error panel:
image

If I use a JWT token generated by jwt.io using the SDK key and secret, I get this error panel:
image

I have tried using “key” and “iss” with the SDK key, including or excluding the “iat” tag, and including or excluding a “tokenExp” tag.

This is what my input to jwt.io looks like for the SDK key and secret:

Do note that this isn’t an account level problem. With the older version of the sdk, I can input the sdk key and secret directly and the app works fine. I am working with the Visual Studio 2017 build.