javascript - AJAX:通过 src 加载视频的 JWT 身份验证

标签 javascript jquery ajax video jwt

我正在从需要 JWT 网络 token 的 API 请求视频:

    // when the ajax call is done (the tolken is recieved )
    getAccessToken.done(function(data) {


        var d = JSON.stringify({'fpath': fpath})
        // get the download url
        var downloadurl = $.ajax({
            type: "POST",
            url: "https://gcp.inbcu.com/download",
            beforeSend: function(xhr){
                xhr.setRequestHeader("Authorization", "JWT " +  data.access_token);
            },
            contentType: 'application/json',
            data: d,
            success: function(response){
                $('#video-source').attr('src', response.url)
                $('#myvideo').load()
            },
            error:function(jqXHR, textStatus, errorThrown) {
                console.log("request for download url failed: ", textStatus, errorThrown, jqXHR);
            },
            dataType: 'json'
        });

此 ajax 调用本身是成功的 (200) 并返回正确的值。主要是返回一个url来设置视频的来源。

问题是,视频 src 尝试访问 url 并且没有权限(没有 jwt token /授权)。加载视频的 src 时,我应该如何以适当的权限加载视频?这可能吗?

最佳答案

作为 a similar question 的答案解释说,这是不可能的。要么您需要将其作为 AJAX 请求来执行,您以前这样做过,但速度很慢,或者您需要为服务器添加额外的方法来接受身份验证。

关于这些身份验证选项,您可以添加服务器可以检查的 session cookie,或将 token 附加到视频 url,如 response.url + '?token=' + token

关于javascript - AJAX:通过 src 加载视频的 JWT 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37839766/

相关文章:

javascript - 将 HTML Canvas 转换为图像。 JavaScript

javascript - 正则表达式: Match word or Phrase

javascript - 在 javascript 中,我使用 EventListener 并得到 TypeError xyz = null

javascript - Rails 表单和对不同 Controller 的自定义 Ajax 调用

jquery - 使用 jQuery 和 Ajax.BeginForm 将 div 与 "Loading..."spinner.gif 居中

javascript - jQuery 表/列表上下文菜单

javascript - jQuery:事件触发后未调用函数

javascript - localstorage 值在页面刷新时更改

jquery - Onclick 事件不会向 div 添加类

ajax - 使用带有正则表达式的 ajax 进行表单验证