Zoom API: Implementasi Zoom Oauth pada Server NodeJS


Ada banyak cara untuk meningkatkan efektivitas dan keamanan sebuah bisnis atau aplikasi yang menggunakan zoom sebagai platform online video meeting. Salah satunya adalah menggunakan OAuth Zoom, mengintegrasikannya ke dalam server, memungkinkan menggunakan layanan Zoom yang ada di aplikasi secara aman dan efisien.

Di artikel sebelumnya kita telah membahas tentang OAuth dan cara kerja Zoom OAuth. Nah… sekarang kita akan coba mengimplementasikannya 😇😇😇

Implementasi

Dalam artikel ini akan digunakan repositori dibawah sebagai contoh implementasi di server

https://github.com/zoom/user-level-oauth-starter

Membuat Zoom App di Zoom Marketplace

1. Buka Zoom Marketplace lalu login – https://marketplace.zoom.us/

2. Develop → Build App untuk membuat Zoom App baru

3. Baca terms & condition lalu accept

4. Akan terdapat informasi-informasi tentang Zoom App yang akan berguna dalam tahap-tahap implementasi berikutnya

Setup Zoom Auth pada server aplikasi

Contoh aplikasi server-nya (OAuth dan REST API Zoom) ada di repositori berikut

https://github.com/zoom/user-level-oauth-starter

  1. Clone repository diatas
  2. Isi enviroment variable (file .env )
// CONTOH ENVIRONMENT VARIABLES
ZOOM_CLIENT_ID=0k74VkXxTyKVtNXIzm0siA
ZOOM_CLIENT_SECRET=yge6i26MnaTg8TTRj4uN3KFIkPyQpdjW
ZOOM_REDIRECT_URL=https://legal-polite-porpoise.ngrok-free.app
MYSQL_USER=root
MYSQL_HOST=localhost
MYSQL_DATABASE=dev
MYSQL_PASSWORD=
MYSQL_TABLE=zoom_credential

ZOOM_CLIENT_ID dan ZOOM_CLIENT_SECRET didapat dari zoom app tadi

ZOOM_REDIRECT_URL adalah URL ke server aplikasi

💡 (penting: URL harus bisa diakses oleh Zoom / internet. Ada banyak cara, yaitu: host server di network yang terbuka, port-forwarding, dan lain-lain. Salah satu caranya adalah dengan menggunakan tunneling, dalam repository yang digunakan sudah ada cara menggunakan tunneling dengan ngrok)

Dalam kasus ini, Data credential user (id, email, access token, dan refresh token) disimpan di database mysql

3. Isi OAuth Information di zoom app sesuai aplikasi dan environment variable tadi

4. Tambahkan scope berikut di Zoom App agar server bisa mendapatkan data user dari Zoom API

5. TESTING!!! waktunya mencoba, akses URL redirect yang dimasukkan tadi.

6. Anda akan disuruh login jika belum login Zoom, informasi login ini akan disampaikan ke Zoom, bukan ke aplikasi

💡(Penting: akun zoom yang di login harus sama dengan yang memiliki akses zoom app karena zoom app yang dibuat merupakan development dan belum ter-publish, jadi tidak dapat diakses oleh akun zoom lain. Jika login dengan akun lain maka akan seperti dibawah. Solusinya adalah dengan setting zoom app untuk production dan di publish)

7. Selanjutnya akan mendaftarkan akun zoom anda ke zoom app yang dibuat tadi

8. Selesai ✨✨✨ Credential pengguna tersimpan di aplikasi jika muncul seperti ini:

dan, pada database yang digunakan, kredensial user akan terlihat seperti ini:

Sekarang anda bisa menggunakan Layanan Zoom API melalui aplikasi tanpa anda memberikan informasi login Zoom anda ke aplikasi 🎉🎉🎉

Terus apa?🥺🥺🥺

Anda dapat menemukan di repository tadi bahwa terdapat juga Zoom REST API dan Zoom Meeting Auth. Anda dapat menggunakan kedua itu karena OAuth sudah berjalan. Penasaran? tunggu artikel berikutnya tentang integrasi Zoom Meeting pada aplikasi menggunakan Zoom API dan Zoom OAuth.🙀🤔

penulis : Adnan R Majid