0

我一直致力于在我的 Web 应用程序中集成 Zoom 视频会议 API。通过使用 OAuth 并将我的应用程序授权给 Zoom,我获得了一个授权码,可用于从 Zoom 获取访问令牌以进行后续 API 请求。我正在根据此文档向https://zoom.us/oauth/token端点发送节点请求以获取访问令牌。

我不知道他们为什么将zoomcallback其用作端点。以下是发送请求以获取访问令牌的代码:

router.get('/zoomcallback', function(req, res) {

    const zoomtokenep = "https://zoom.us/oauth/token";
    const myappredirect = "https://myapp.io/zoomcallback";

    if (req.query.code) {
        var auth = "Basic " + new Buffer(zoomclientid + ':' +
            zoomclientsec).toString('base64');
        var url = zoomtokenep + '?grant_type=authorization_code&code=' +
            req.query.code + '&redirect_uri=' + myappredirect;
        request.post({
            url: url,
            headers: {
                "Authorization": auth
            }
        }, function(error, response, body) {
            if (error) {
                console.log("Error when getting Zoom token = " + error);
                return;
            }
            body = JSON.parse(body);
            if (body.access_token) {
                accessToken = body.access_token;
                refreshToken = body.refresh_token;
                // Process and securely store these tokens
            } else {
                console.log("FATAL - could not get zoom token");
            }
            return;
        });

    } else {
        console.log("Missing code from Zoom");
    }
    });

这是对此请求的成功响应:

{
  "access_token": "5kwaMOrdEFWx1jYVK8qg80cImPYBA83Zff",
  "token_type": "bearer",
  "refresh_token": "Ggf2816C5ANa6XVplzO8vwE6IRIXtjvE",
  "expires_in": 3599,
  "scope": "meeting:write user:read recording:write webinar:write"
}
4

1 回答 1

3

你误解了这里的流程。任何外部身份验证提供程序的流程是:

  1. 单击某个按钮,重定向到他们的(在您的情况下,缩放)登录页面。
  2. 用户在那里提供用户名和密码并登录,然后身份验证提供者(即缩放)重定向到您的应用程序,并带有access code.
  3. 现在,您的应用程序将解密或理解访问代码并从该访问代码中获取(某种形式的)身份验证代码。并将身份验证代码与所有 REST api 请求一起使用。

现在,在这里,第二点是/zoomcallback进来的地方。您需要在 ZOOM 仪表板中设置它将重定向的位置。在教程中提供/zoomcallback但它可能是任何东西。

基本上,您需要一条缩放将重定向到的路线,您将在其中获得身份验证令牌并在 Apis 中使用它。

于 2019-07-25T14:19:32.167 回答