如何从具有AAD设置的asp.net mvc应用程序调用外部网站



我在https://learn.microsoft.com/en-gb/azure/active-directory/develop/tutorial-v2-asp-webapp并成功创建了web应用程序并部署到Azure。我的应用程序需要获取登录用户的IP和地理位置。我正在使用https://ip-api.io/json/和http://checkip.dyndns.org/以获取这些信息。我正在进行Web客户端调用以获取数据:

WebClient client = new WebClient();
string jsonstring = client.DownloadString(url);
return jsonstring;

当我使用IE运行代码时,这是有效的,但在私人浏览中使用Chrome、Firefox和IE时失败。我在Microsoft屏幕上输入了我的电子邮件地址和密码,但随后收到错误消息"我们无法让您登录。请重试。"如果我评论了调用这些外部链接的代码,我就可以登录了。

我不确定是什么原因导致了这种行为,任何帮助都将不胜感激。

感谢

我通过使用可选声明找到了解决方案:"idToken":[{"name":"ipaddr","本质":false,"additionalProperties":[]
}]

这应该添加到Azure上的应用程序清单中。

更多详细信息,请访问https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-optional-claims

最新更新