在没有 Internet 连接的 Web 服务器上启用 Azure AD SSO

Enable Azure AD SSO on Web Server which has no internet connection

我使用 Azure AD 实现我的 ASP.Net Web 应用程序 SSO。我的测试服务器一切正常,它具有互联网连接。 我的客户策略不允许在他们的服务器上连接互联网,并且在用户通过身份验证后验证来自 Microsoft 的令牌时 SSO 失败。错误是 "IDX20803: Unable to obtain configuration from: [PII is Hidden]"。 我将 Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII = true; 添加到我的 Startup.cs class,错误更详细:"IDX20803: Unable to obtain configuration from: 'https://login.microsoftonline.com/MYTENANTID/.well-known/openid-configuration'".

我的问题是:我会要求我的客户打开他们的防火墙只允许 login.mirosoftonline.com。够了吗?是否需要允许其他请求?还有什么要求?

根据微软的说法,https://docs.microsoft.com/en-ca/office365/enterprise/urls-and-ip-address-ranges#microsoft-365-common-and-office-online

我认为56类是用于身份和认证的,我不确定你是否需要它们,但微软似乎是这么认为的?

56 允许 必填 是 *.msappproxy.net, *.msftidentity.com, *.msidentity.com, account.activedirectory.windowsazure.com, accounts.accesscontrol.windows.net, adminwebservice.microsoftonline.com, api.passwordreset.microsoftonline.com, autologon.microsoftazuread-sso.com, becws.microsoftonline.com, clientconfig.microsoftonline-p.net, companymanager.microsoftonline.com, device.login.microsoftonline.com, graph.microsoft.com, graph.windows.net, login.microsoft.com, login.microsoftonline.com, login.microsoftonline-p.com, login.windows.net, logincert.microsoftonline.com, loginex.microsoftonline.com, login-us.microsoftonline.com、nexus.microsoftonline-p.com、passwordreset.microsoftonline.com、provisioningapi.microsoftonline.com 20.190.128.0/18, 40.126.0.0/18, 2603:1006:2000::/48, 2603:1007:200::/48, 2603:1016:1400::/48, 2603:1017::/ 48, 2603:1026:3000::/48, 2603:1027:1::/48, 2603:1036:3000::/48, 2603:1037:1::/48, 2603:1046:2000::/ 48, 2603:1047:1::/48, 2603:1056:2000::/48, 2603:1057:2::/48