# User has to grant access each time?

**URL:** <https://devforum.zoom.us/t/user-has-to-grant-access-each-time/88318>\
**Category:** Zoom Apps\
**Created:** [May 12, 2023, 12:54pm UTC](https://devforum.zoom.us/t/user-has-to-grant-access-each-time/88318 "2023-05-12T12:54:30Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sam2](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@sam2](https://devforum.zoom.us/u/sam2)\
**Post date:** [May 12, 2023, 12:54pm UTC](https://devforum.zoom.us/t/user-has-to-grant-access-each-time/88318/1 "2023-05-12T12:54:30Z")

</div>

**Zoom Apps Configuration**  
Zoom apps SDK in React app.

**Description**  
We call await zoomSdk.config({capabilities[…] }) then make our API calls.  
However it seemingly always pops up the user permissions dialog. We don’t want our users to always have to authenticate the app each time it’s opened.

What’s the logic ZoomApps uses to decide if the permissions dialog needs to be shown. Presumably it’s not coded in such a way where the order that we list the capabilities matters, or something like that…?

We’d like to know how to build in such a way that this is a one-time (or infrequent) dialog.

**How To Reproduce**  
Call this line:

```
const result = await zoomSdk.config({
  capabilities: ["authorize", "onAuthorized", "expandApp", "openUrl", "getRunningContext", "getMeetingContext", "onShareScreen",
  "getRunningContext", "runRenderingContext", "getMeetingParticipants", "drawParticipant", "clearParticipant", "getMeetingUUID", "getMeetingView",
  "onMessage", "postMessage"
]

```

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [June 23, 2023, 5:50pm UTC](https://devforum.zoom.us/t/user-has-to-grant-access-each-time/88318/2 "2023-06-23T17:50:37Z")

</div>

HI @sam2  
Thanks for reaching out to us and sorry for the late reply!  
Have you been able to troubleshoot this issue on your end or do you still need assistance?

---

<div class="post-metadata">

**Author:** ![sam2](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@sam2](https://devforum.zoom.us/u/sam2)\
**Post date:** [June 27, 2023, 8:42am UTC](https://devforum.zoom.us/t/user-has-to-grant-access-each-time/88318/3 "2023-06-27T08:42:56Z")

</div>

Hi @elisa.zoom we still need assistance.

Could you confirm the intended behavior is to only require authorization once?

Assuming that’s the case - I am guessing there’s some comparison between grantedScopes and requestedScopes. Does this comparison normalize (e.g. case, order)?

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [June 28, 2023, 5:16pm UTC](https://devforum.zoom.us/t/user-has-to-grant-access-each-time/88318/4 "2023-06-28T17:16:48Z")

</div>

Hi @sam2  
You are correct, if a user authorizes an ap once that should be enough.  
There is no need to reauthorization unless the user removes the app from their account
