我目前正在尝试使用 Microsoft Unified API 进行身份验证以检索数据。我跟随他们的深入研究,通过 Fiddler 中的连接,并通过它取得了成功。我现在正在尝试将其转换为代码以在测试网站上运行。
我必须通过以下代码创建对指定 URL 的 POST 请求:
var url = "https://login.microsoftonline.com/" + tenantId + "/oauth2/token";
var data = 'grant_type=authorization_code' +
'&redirect_uri=http://localhost:61104/Views/Home.html' +
'&client_id=' + clientId +
'&client_secret=' + clientSecret +
'&resource=https://graph.microsoft.com' +
'&code=' + oauthCode;
$.ajax({
type: "POST",
url: url,
headers: {
"Accept": "application/json",
"Content-Type": "application/x-www-form-urlencoded"
},
data: data,
success: function (a, b) {
alert('success');
},
error: function (a, b, c) {
alert('fail');
}
});
但是,这会触发错误功能,除了“错误代码 0”之外,响应没有给我任何信息。我尝试删除所有数据和标题并仅发布到 URL,但我再次收到错误代码 0。
我用谷歌搜索并确保它不是我的页面刷新或重新加载,它不是。我通过发布到另一个 REST 服务对此进行了测试,该服务运行良好。
这是我第一次使用 oAuth 并发布,所以我认为我在某个地方犯了一个新手错误。我错过了什么?谢谢。
编辑:添加,我尝试了一个最低要求,只有:
$.ajax({
type: "POST",
url: url
}
它仍然失败并出现错误 0。我在 Fiddler 中复制了这个,我得到了预期的响应(错误 400)。