我正在尝试从Azure生成access_token

错误信息:


  无法加载https://login.microsoftonline.com/......../oauth2/token:请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问源'http://localhost:61697'。


程式码片段:

function SubmitForm() {
    var data = {
        'grant_type': "password",
        'client_id': "<client_id>",
        'username': "<username>@<tenant>.onmicrosoft.com",
        'password': "<password>",
        'resource': "<resource>",
        'redirect_uri': "http://localhost:55871/"
    }

    $.ajax({
        url: "https://login.microsoftonline.com/<tenant_id>/oauth2/token",
        type: "POST",
        data: data,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        crossDomain: true,
        beforeSend: setHeader,
        success: function(d) {
            console.log(d);
        },
        error: function (a, b, c) {
            console.log(a, b, c);
        }
    });
}


同样,我也尝试过使用jQuery和AngularJS,但是遇到了相同的错误。

javascript - 从Azure/oauth2/token端点使用jQuery,Ajax或AngularJS获取access_token时出现跨域问题-LMLPHP

javascript - 从Azure/oauth2/token端点使用jQuery,Ajax或AngularJS获取access_token时出现跨域问题-LMLPHP

您可以帮助我们使用与浏览器无关的任何客户端脚本从Azure获取access_tokenrefresh_token吗?

注意:同一段代码仅适用于IE(不适用于Chrome,Edge,Safari等)。

最佳答案

请参阅:No 'Access-Control-Allow-Origin' header with Microsoft Online Auth

可能是因为您正在从本地主机访问它而遇到问题。

07-26 00:23