<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Tan Boon Jun</title>
    <description>The latest articles on Forem by Tan Boon Jun (@boon9236).</description>
    <link>https://forem.com/boon9236</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F909218%2F31033f7c-4283-47c9-b824-21f3ce17a058.jpeg</url>
      <title>Forem: Tan Boon Jun</title>
      <link>https://forem.com/boon9236</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/boon9236"/>
    <language>en</language>
    <item>
      <title>Device Authorization - Zoom Use Cases</title>
      <dc:creator>Tan Boon Jun</dc:creator>
      <pubDate>Fri, 27 Jan 2023 23:13:56 +0000</pubDate>
      <link>https://forem.com/zoom/device-authorization-zoom-use-cases-1a3h</link>
      <guid>https://forem.com/zoom/device-authorization-zoom-use-cases-1a3h</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In my &lt;a href="https://dev.to/zoom/device-authorization-zoom-4id2"&gt;Device Authorization article&lt;/a&gt;, I shared how to utilize this feature as well as how users can set up and execute simple testing. So what exactly are the potential use cases for users using Device Authorization rather than the conventional OAuth process? Let's explore them here.&lt;/p&gt;




&lt;h2&gt;
  
  
  Use Case 1 - Smart TV
&lt;/h2&gt;

&lt;p&gt;Recall your login in experience the last time you logged in to your Youtube or Netflix account on your Smart TV.  How was the login process user experience?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1ryC6LSPmxMnVbfCg_FQOXMi1qA-IQMZE" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1ryC6LSPmxMnVbfCg_FQOXMi1qA-IQMZE" alt="Sign In Page" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imagine having to manually navigate to each of the characters of your email and password for a simple login process. For those with a secure combination of digits or even symbols, this entire sign-in process can be extremely frustrating.&lt;/p&gt;

&lt;p&gt;We certainly do not want Zoom's user experience to be frustrating. This is where the magic of Device Authorization comes in. With this feature, a QR code is generated from Zoom's login page for users to scan. This allows users to utilize their Zoom account on their mobile device to grant access to your application with ease.&lt;/p&gt;




&lt;h2&gt;
  
  
  Use Case 2 - Automotive Touch Screen Display
&lt;/h2&gt;

&lt;p&gt;The same use case above can also be applied to automotive touch screen display! Even with a touch screen keyboard function available, the user can simply scan the same QR code generated from Zoom's login page for application access for additional simplicity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1Cwyub3InXCGIhEAkODt2cu6Z0W85jyLK" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1Cwyub3InXCGIhEAkODt2cu6Z0W85jyLK" alt="Automotive Touch Screen Display" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Use Case 3 - Smart Glasses / AR/VR
&lt;/h2&gt;

&lt;p&gt;Users can face a frustrating challenge in use cases with no virtual or touch-screen keyboard. For example, when using smart glasses for augmented reality (AR) or virtual reality (AR). The Device Authorization Grant solves this!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1T7E6vaM7DnSOIFQ5dIbIX3tVaLLPJSxr" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1T7E6vaM7DnSOIFQ5dIbIX3tVaLLPJSxr" alt="Smart Glasses" width="710" height="473"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Video on how can it be done on these use cases
&lt;/h2&gt;







&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The Device Authorization Grant helps your users easily access your application by removing the painful process of manual credentials and replacing it with Zoom’s simple log-in process. This streamlined log-in process minimizes frustrations and facilitates a positive long-in experience for your users.&lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>Device Authorization - Zoom</title>
      <dc:creator>Tan Boon Jun</dc:creator>
      <pubDate>Fri, 27 Jan 2023 23:12:46 +0000</pubDate>
      <link>https://forem.com/zoom/device-authorization-zoom-4id2</link>
      <guid>https://forem.com/zoom/device-authorization-zoom-4id2</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Zoom has recently introduced Device Authorization to better improve end user experience when authorizing apps to access Zoom user data on different devices. This also helps to establish a platform wide authorization and authentication workflow to support app access on devices for all Zoom products.&lt;/p&gt;

&lt;p&gt;You can authorize with Zoom using the OAuth 2.0 Device Authorization Grant using a simply one-step process. This gives users, who are signed in with Zoom, the ability to authorize app access on another device without typing in the requested user code or needing to re-login to their Zoom account. &lt;/p&gt;




&lt;h2&gt;
  
  
  Prerequisite for Device Authorization setup
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Users must have an existing private Zoom OAuth-capable application (such as Meeting SDK, OAuth, Zoom App and etc) in their Zoom Developer account. &lt;/li&gt;
&lt;li&gt;Users will also need to reach out to &lt;a href="https://devsupport.zoom.us/hc/en-us" rel="noopener noreferrer"&gt;&lt;strong&gt;Zoom's developer support&lt;/strong&gt;&lt;/a&gt; in order to enable this feature and use within their private apps mentioned above.&lt;/li&gt;
&lt;li&gt;Postman or other API platform of choice used for testing purposes.&lt;/li&gt;
&lt;li&gt;QR code generator or other tools to further ease the authorize app access procedure (optional).&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Steps to handle the OAuth 2.0 Device Authorization Grant
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Sign in with your Zoom developer account credential at &lt;a href="https://marketplace.zoom.us/" rel="noopener noreferrer"&gt;https://marketplace.zoom.us/&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Locate and access your Meeting SDK app by going to the "Manage" section&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1SbLGsEDuJZWvzpmAMqkmt3s8M_XYs_tz" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1SbLGsEDuJZWvzpmAMqkmt3s8M_XYs_tz" alt="Test"&gt;&lt;/a&gt;&lt;br&gt;
If you do not have an app at the moment, you can create a new one by going to "Develop", followed by "Build App" and then select the app type of your choice.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This article will use Meeting SDK as an example. Under the Feature tab, enable "Use App on Device"&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1cqjKDYnqdEN-iuwLnqKaIkBGjSSEDQXw" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1cqjKDYnqdEN-iuwLnqKaIkBGjSSEDQXw"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under App Credentials -&amp;gt; OAuth credential, save your Client ID and Secret as we will be using these for the next part.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1ICuK2GNOE7r3BkLl4tDwHUvHv3lslvS1" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1ICuK2GNOE7r3BkLl4tDwHUvHv3lslvS1"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Next, we will retrieve the device authorization information and the verification link. This article will use Postman with Basic Authorization to send a POST request with the client ID and secret to "&lt;a href="https://zoom.us/oauth/devicecode" rel="noopener noreferrer"&gt;https://zoom.us/oauth/devicecode&lt;/a&gt;" &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1coOnbiNFg3NHV-fFkfNorvZNvrVrFtzA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1coOnbiNFg3NHV-fFkfNorvZNvrVrFtzA"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1vo62--mk7t3s4ymkD-XjGsUw82O__Myr" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1vo62--mk7t3s4ymkD-XjGsUw82O__Myr"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1h88AxqPbQR-Bkkr8l-RGPzNWLbDY8pgz" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1h88AxqPbQR-Bkkr8l-RGPzNWLbDY8pgz"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;With the above result, there are a few ways you can redirect user's device by either sending them&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"verification_uri" and "user_code" in another communication means such as email or SMS, Or
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1EudguWVMh4_GXHOUEzi_Vgshl0wNdDoo" alt="Without user code embedded"&gt;
&lt;/li&gt;
&lt;li&gt;"verification_uri_complete" which includes the user_code embedded inside
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1fVyBwOzDO9XowR7Osglhksk_dcm7sNTG" alt="With user code embedded"&gt;
&lt;strong&gt;TADA! There you have it!&lt;/strong&gt; With the "verification_uri_complete" you can simply turn the link into a QR code for users to scan on their other device (w/ Zoom account signed in) and grant access to your application!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can also visit our Zoom's Device Authorization Documentation &lt;a href="https://marketplace.zoom.us/docs/guides/auth/oauth/#using-device-authorization" rel="noopener noreferrer"&gt;here&lt;/a&gt; for more information on each of the request as well as response key and value.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Upon successful verification, users will be prompted to authorize the user of your application.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1NyhRiEcjjRmTksmdZ51i0JI9gl4CNd12"&gt;
&lt;/li&gt;
&lt;li&gt;After clicking on allow, you will see a successful message (e.g. the one shown in the image below on the top right corner) and you can continue with your application. 
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1z7kob0h6DHPAMPEC8Xkzc3mHo56_ONCY"&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Polling Request for Access &amp;amp; Refresh Token
&lt;/h2&gt;

&lt;p&gt;With the device code that we got previously and the same Basic Authorization used earlier, we can use it to retrieve the access and refresh tokens by calling &lt;strong&gt;POST&lt;/strong&gt; to "&lt;a href="https://zoom.us/oauth/token" rel="noopener noreferrer"&gt;https://zoom.us/oauth/token&lt;/a&gt;" with "grant_type" of "urn:ietf:params:oauth:grant-type:device_code" and "device_code" that you got from the previous API call.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1xIZ6CBQtT6mO_l_QFShxR4sI5VkDo1mM" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1xIZ6CBQtT6mO_l_QFShxR4sI5VkDo1mM"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the &lt;strong&gt;access token&lt;/strong&gt;, you can work wonders with the capabilities of Zoom's API such as creating a meeting, getting past meeting details and etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  ZAK Token
&lt;/h2&gt;

&lt;p&gt;In order to start an instant meeting on the user's behalf, we will need to retrieve their ZAK token. We can simply do this by using the access token we got previously and send a &lt;strong&gt;GET&lt;/strong&gt; call to "&lt;a href="https://api.zoom.us/v2/users/me/zak" rel="noopener noreferrer"&gt;https://api.zoom.us/v2/users/me/zak&lt;/a&gt;".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1U8w3SiHgRmSA5T-2MCACWS-ygyZk5Gm2" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdrive.google.com%2Fuc%3Fexport%3Dview%26id%3D1U8w3SiHgRmSA5T-2MCACWS-ygyZk5Gm2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Potential Use Cases
&lt;/h2&gt;

&lt;p&gt;Visit the next &lt;a href="https://dev.to/zoom/device-authorization-zoom-use-cases-1a3h"&gt;post&lt;/a&gt; to see what are the potential use case you can apply Device Authorization to.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;With the introduction of the OAuth 2.0 Device Authorization Grant, we can easily authorize another device app access to Zoom easily with the already signed-in Zoom users and make things faster and easier for users! &lt;/p&gt;




&lt;h2&gt;
  
  
  Video Guide
&lt;/h2&gt;

&lt;p&gt;Device Authorization - Full Setup&lt;/p&gt;




</description>
    </item>
  </channel>
</rss>
