我在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