# Zoom Meeting SDK JWT Initialization Docs Are Misleading

**URL:** <https://devforum.zoom.us/t/zoom-meeting-sdk-jwt-initialization-docs-are-misleading/82577>\
**Category:** Android\
**Created:** [February 3, 2023, 5:05pm UTC](https://devforum.zoom.us/t/zoom-meeting-sdk-jwt-initialization-docs-are-misleading/82577 "2023-02-03T17:05:22Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![will.wilkinson](https://avatars.discourse-cdn.com/v4/letter/w/cc9497/32.png) [@will.wilkinson](https://devforum.zoom.us/u/will.wilkinson)\
**Post date:** [February 3, 2023, 5:05pm UTC](https://devforum.zoom.us/t/zoom-meeting-sdk-jwt-initialization-docs-are-misleading/82577/1 "2023-02-03T17:05:22Z")

</div>

The Zoom Meeting SDK Docs are misleading. They say you can initialize a Zoom Meeting SDK with a JWT token expiration of 1800 seconds, but that isn’t true because 1801 seconds works, but 1800 doesn’t.  
[https://marketplace.zoom.us/docs/sdk/native-sdks/android/mastering-zoom-sdk/sdk-initialization/](https://marketplace.zoom.us/docs/sdk/native-sdks/android/mastering-zoom-sdk/sdk-initialization/)

---

<div class="post-metadata">

**Author:** ![donte.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/donte.zoom/32/24412_2.png) [@donte.zoom](https://devforum.zoom.us/u/donte.zoom)\
**Post date:** [February 3, 2023, 5:15pm UTC](https://devforum.zoom.us/t/zoom-meeting-sdk-jwt-initialization-docs-are-misleading/82577/2 "2023-02-03T17:15:19Z")

</div>

Welcome, @will.wilkinson,

Thank you for posting in the Zoom Developer Forum. We appreciate you calling attention to the behavior you are seeing. It is my understanding the minimum tokenExp is 1800. Are you able to share the snippet of code you used to generate the MSDK JWT? This will helps diagnose what may be happening.

---

<div class="post-metadata">

**Author:** ![will.wilkinson](https://avatars.discourse-cdn.com/v4/letter/w/cc9497/32.png) [@will.wilkinson](https://devforum.zoom.us/u/will.wilkinson)\
**Post date:** [February 3, 2023, 5:18pm UTC](https://devforum.zoom.us/t/zoom-meeting-sdk-jwt-initialization-docs-are-misleading/82577/3 "2023-02-03T17:18:23Z")

</div>

I’m using an Elixir server to generate the token. Here is the code that uses the elixir Guardian library to generate it:

```plaintext
defmodule MDWeb.TabletZoomSDKGuardian do
  use Guardian,
    otp_app: :member_doc_api,
    ttl: {1800, :second},
    allowed_algos: ["HS256"],
    secret_fetcher: MDWeb.Guardian.ZoomSDKSecretFetcher

  def subject_for_token(_resouce, _claims), do: {:ok, nil}

  def build_claims(%{"exp" => exp} = claims, _resouce, _),
    do: {:ok, Map.put(claims, "tokenExp", exp)}

  def resource_from_claims(_claims), do: nil

  def generate_token do
    sdk_key = Application.get_env(:member_doc_api, __MODULE__ ) |> Keyword.get(:sdk_key)

    encode_and_sign(nil, %{"appKey" => sdk_key})
  end
end

```

And here is the claims for that token

```plaintext
 %{
   "appKey" => "our_sdk_key",
   "aud" => "",
   "exp" => 1675444300,
   "iat" => 1675442500,
   "iss" => "",
   "jti" => "35267934-9dc9-4eda-9c6a-a90ba0d4e608",
   "nbf" => 1675442499,
   "role" => 0,
   "sub" => nil,
   "tokenExp" => 1675444300,
   "typ" => "access"
 }

```

---

<div class="post-metadata">

**Author:** ![will.wilkinson](https://avatars.discourse-cdn.com/v4/letter/w/cc9497/32.png) [@will.wilkinson](https://devforum.zoom.us/u/will.wilkinson)\
**Post date:** [February 3, 2023, 5:20pm UTC](https://devforum.zoom.us/t/zoom-meeting-sdk-jwt-initialization-docs-are-misleading/82577/4 "2023-02-03T17:20:26Z")

</div>

It seems like the issue is that someone used a `zoom_jwt_expiration_min > 1800` instead of `zoom_jwt_expiration_min >= 1800`

---

<div class="post-metadata">

**Author:** ![donte.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/donte.zoom/32/24412_2.png) [@donte.zoom](https://devforum.zoom.us/u/donte.zoom)\
**Post date:** [February 3, 2023, 5:48pm UTC](https://devforum.zoom.us/t/zoom-meeting-sdk-jwt-initialization-docs-are-misleading/82577/5 "2023-02-03T17:48:50Z")

</div>

@will.wilkinson.

I am not familiar with Elixir but I think you make a great point that perhaps the zoom\_jwt\_expiration\_min \>= 1800 would be more accurate. I will share this feedback with our documentation team. Please also feel free to share your feedback here : [Feedback - Zoom](https://zoom.us/feed)

Let me know if you have any additional questions or comments.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [March 6, 2023, 3:48am UTC](https://devforum.zoom.us/t/zoom-meeting-sdk-jwt-initialization-docs-are-misleading/82577/6 "2023-03-06T03:48:57Z")

</div>

Closed on March 6, 2023, 3:48am UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
