我正在尝试从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,但是也遇到了同样的错误。
您可以使用任何与浏览器无关的客户端脚本来帮助我们从Azure获取access_token
和refresh_token
吗?
注意:同一段代码仅适用于IE(不适用于Chrome,Edge,Safari等)。
答案 0 :(得分:1)
请参阅:No 'Access-Control-Allow-Origin' header with Microsoft Online Auth
也许你得到了这个问题,因为你是从localhost访问它。