微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

自 2021 年以来,“Access-Control-Allow-Origin 不允许使用 Origin”

如何解决自 2021 年以来,“Access-Control-Allow-Origin 不允许使用 Origin”

对于一个学校项目,我和我的伙伴正在使用一个使用 Microsoft Azure Video Indexer 的 API 的网页,自上周以来一切正常,但现在我每次都遇到此错误.. 我以为是因为新年,因为它在 1 月 1 日停止工作。奇怪的是,相同的代码片段不再起作用了。例如,API 网站上提出的用于获取令牌的示例没有

<!DOCTYPE html>
<html>
<head>
    <title>JSSample</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
    $(function() {
        var params = {
            // Request parameters
            "allowEdit": "False",};
      
        $.ajax({
            url: "https://api.videoindexer.ai/Auth/trial/Accounts/198UE0192/Accesstoken?" + $.param(params),beforeSend: function(xhrObj){
                // Request headers
                xhrObj.setRequestHeader("x-ms-client-request-id","");
                xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","108D193J");
            },type: "GET",// Request body
            data: "{body}",})
        .done(function(data) {
            alert("success");
        })
        .fail(function() {
            alert("error");
        });
    });
</script>
</body>
</html

解决方法

我们已经解决了这个问题。您将在 API 响应中获得“access-control-allow-origin: *”标头。

您的 API 密钥 (Ocp-Apim-Subscription-Key) 是私有信息,您不应在客户端公开它。

您应该使用该密钥从您的网络服务器生成访问令牌,并将其与您的所有操作请求一起使用(在授权标头中发送)。

也请从上面的例子中删除它。

,

我们在以前运行的 Angular 应用程序集成中看到了同样的问题。看起来“Access-Control-Allow-Origin: *”CORS 标头已从 API 响应中删除,这是无需借助 API 代理的直接网络应用集成所必需的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。