-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
41 lines (35 loc) · 1.23 KB
/
Copy pathindex.js
File metadata and controls
41 lines (35 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const KJUR = require('jsrsasign')
const app = express()
const port = process.env.PORT || 8080;
const path = require('path')
require('dotenv').config({ path: path.join(__dirname, '.env') })
app.use(function(req, res, next) {
res.header("Cross-Origin-Embedder-Policy", "require-corp")
res.header("Cross-Origin-Opener-Policy", "same-origin")
next()
})
app.use(express.static(path.join(__dirname, 'public')))
app.use(bodyParser.json(), cors())
app.post('/api/', (req, res) => {
const iat = Math.floor(new Date().getTime() / 1000)
const exp = iat + 60 * 60 * 2
const oHeader = { alg: 'HS256', typ: 'JWT' }
const oPayload = {
app_key: process.env.ZOOM_VSDK_KEY,
tpc: req.body.topic,
role_type: req.body.role,
pwd: req.body.password,
iat: iat,
exp: exp,
}
const sHeader = JSON.stringify(oHeader)
const sPayload = JSON.stringify(oPayload)
const signature = KJUR.jws.JWS.sign('HS256', sHeader, sPayload, process.env.ZOOM_VSDK_SECRET)
res.json({
signature: signature
})
})
app.listen(port, () => console.log(`Zoom Video SDK for Web Sample. port: ${port}! Open http://localhost:${port} with your browser.`))