# Token Generation

**URL:** <https://devforum.zoom.us/t/token-generation/33323>\
**Category:** iOS\
**Created:** [October 15, 2020, 8:07am UTC](https://devforum.zoom.us/t/token-generation/33323 "2020-10-15T08:07:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![iosjamesanderson](https://avatars.discourse-cdn.com/v4/letter/i/c4cdca/32.png) [@iosjamesanderson](https://devforum.zoom.us/u/iosjamesanderson)\
**Post date:** [October 15, 2020, 8:07am UTC](https://devforum.zoom.us/t/token-generation/33323/1 "2020-10-15T08:07:52Z")

</div>

According to Document: [https://marketplace.zoom.us/docs/sdk/native-sdks/iOS/mastering-zoom-sdk/start-join-meeting/api-user/authentication](https://marketplace.zoom.us/docs/sdk/native-sdks/iOS/mastering-zoom-sdk/start-join-meeting/api-user/authentication)

To host a scheduled meeting with a non-login user, you will need to retrieve the following three values from the REST API:

- **User\_ID**
- **Zoom\_Token**
- **Zoom\_Access\_Token(ZAK)**

# For User\_ID, you can pass your email address or you can retrieve from REST API by sending a GET request to [https://api.zoom.us/v2/users](https://api.zoom.us/v2/users).

Question is When we are using a non-loing user for start or join meeting then which email we should use for user\_ID to create these tokens?

Do we use our Zoom Developer Account email with which we have created SDK app and Auth APP ?

---

<div class="post-metadata">

**Author:** ![iosjamesanderson](https://avatars.discourse-cdn.com/v4/letter/i/c4cdca/32.png) [@iosjamesanderson](https://devforum.zoom.us/u/iosjamesanderson)\
**Post date:** [October 15, 2020, 9:22am UTC](https://devforum.zoom.us/t/token-generation/33323/2 "2020-10-15T09:22:23Z")

</div>

iOS 13.2

Zoom SDK version : **5.0.1 (24433.0616)**

Getting Following error in Generting TOken

code = 124;  
message = “The Token’s Signature resulted invalid when verified using the Algorithm: HmacSHA256”;

---

<div class="post-metadata">

**Author:** ![Michael\_Condon](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/michael_condon/32/13543_2.png) [@Michael\_Condon](https://devforum.zoom.us/u/Michael_Condon)\
**Post date:** [October 23, 2020, 7:30pm UTC](https://devforum.zoom.us/t/token-generation/33323/3 "2020-10-23T19:30:45Z")

</div>

Hey @iosjamesanderson

Thanks for using the dev forum!

Unfortunately, that documentation is no longer accurate and we are working to have it updated soon. I know that is confusing and frustrating. We apologize for that!

To use the meeting functionalities as a Non-Login user you do not need to use a Zoom\_Token. You do however, need a ZAK and a UserID. The purpose of the ZAK is to authenticate a user (which would be the person who is using your app) on behalf of the API user (which would be you, the developer). When you are requesting a ZAK, you would provide the API user’s email. The ZAK that is obtained provides verification to Zoom that you, the API user, is giving your application user permission to join/host meetings. In other words, yes, you use your Zoom Developer Account email with which you have created the SDK app.

When requesting the ZAK, you should use this endpoint:  
“[https://api.zoom.us/v2/users/](https://api.zoom.us/v2/users/)_Your Developer Account Email Here_/token?type=zak&access\_token=_API JWT here_”  
The last parameter in the endpoint above is your API JWT.

When you log into Zoom Marketplace using your developer account, then click “Build an App”, you will be taken to a page that looks like this:

 ![Screen Shot 2020-10-23 at 1.23.24 PM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/c/8/c8b880eca3ead74c9409f164e68c8a3627b666c1.png)

The tile that says “SDK” has your SDK Key and Secret that you have used to initialize the SDK in your app. This key and secret is not what you use to generate a JWT for that endpoint.

The tile that says “JWT” contains your API Key, API Secret, and a JWT. That JWT is what you provide in the final parameter of that endpoint in order to retrieve a ZAK. Note: use that JWT to test that you can successfully obtain a ZAK, but in production you will need to create your own JWT using the API Key and Secret.

Let me know if you have any more questions or concerns.  
Thanks!  
Michael

---

<div class="post-metadata">

**Author:** ![mohammed.adel.sorour](https://avatars.discourse-cdn.com/v4/letter/m/9de053/32.png) [@mohammed.adel.sorour](https://devforum.zoom.us/u/mohammed.adel.sorour)\
**Post date:** [November 9, 2020, 10:56am UTC](https://devforum.zoom.us/t/token-generation/33323/4 "2020-11-09T10:56:32Z")

</div>

i am really confused , i can’t understand these concepts  
JWT /token/userID

---

<div class="post-metadata">

**Author:** ![Michael\_Condon](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/michael_condon/32/13543_2.png) [@Michael\_Condon](https://devforum.zoom.us/u/Michael_Condon)\
**Post date:** [November 9, 2020, 8:35pm UTC](https://devforum.zoom.us/t/token-generation/33323/5 "2020-11-09T20:35:21Z")

</div>

Hey @mohammed.adel.sorour,

The JWT is a token that allows for authentication of the developer.  
The ZAK is a token that allows a developer to authenticate a user for a meeting without the user logging in.  
UserID is a unique identifier that represents a user.

Please let me know if you have any other questions.  
Thanks!  
Michael
