按照此处的指南:https://msdn.microsoft.com/office/office365/howto/add-common-consent-manually#bk_RegisterServerApp
我有一个API,我创建了chrome扩展。初始化时的chrome扩展名会创建一个弹出窗口,其中包含字段名称和电子邮件,并单击“注册”。之后,我只需要授权用户并获取用户的微软ID,这样我就可以获得其他信息,例如他/她的日历。
问题:在这种情况下,我做错了什么以及重定向网址是什么?
API中的调用示例
$.ajax({
type: "GET",
url: ' https://login.windows.net/common/oauth2/authorize',
data: {response_type: 'code', client_id: config.clientId, resource:'https://outlook.office365.com/', state:generateUUID(), redirect_uri:'http://xxx'},
success: function(result)
{
alert('woohoo')
}
});
答案 0 :(得分:0)
你提到的文章:
redirect_uri [是]应用中的URI,用户将在其后发送 授权。必须在AAD注册。
这必须是您在从您获得客户ID的相同位置注册的有效URI。
大多数OAuth2系统非常善于告诉您错误,因此请在AJAX调用中添加错误处理程序并检查响应。
您似乎也错过了"范围"参数,这是必需的。
参考:
https://azure.microsoft.com/en-gb/documentation/articles/active-directory-v2-protocols-oauth-code/