我正在尝试从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等)。
最佳答案
请参阅:No 'Access-Control-Allow-Origin' header with Microsoft Online Auth
可能是因为您正在从本地主机访问它而遇到问题。