有一段时间我有一个.Net WPF应用程序,它使用Adal.Net来执行(我相信的)一个授权代码授予流程来反对azure活动目录来访问web API(正在寻找一个持有者令牌)请求)。
为此,我使用了2个AAD应用程序:MyServer(代表服务器)和MyClient(代表WPF客户端)。在azure门户网站中,我为Myclient配置了访问MyServer的权限。
从我的WPF应用程序调用{{1}}时,我提供AcquireToken
作为客户端ID,MyClient.ClientId
作为资源ID,一切都按预期工作。
现在我有一个网站(只使用IIS提供静态页面 - 它没有asp.net,也没有node.js作为Web服务器)。
我希望我的浏览器执行与.Net原生应用程序相同的流程。
我看过adal.js但是找不到简单的方法。
我必须手动实施the entire flow吗?
答案 0 :(得分:3)
Rony,AAD不支持令牌端点上的跨源调用 - 因此您将无法在JS中实现授权代码授予OAuth流(使用代码的令牌请求将失败)。 AAD支持您描述的方案的隐式授权OAuth流(单页应用程序调用Web API)。
ADAL.js实现隐式授权流程。如果您在使用它时遇到任何问题,请告诉我们。
希望有所帮助。