我需要允许用户通过Corp网络登录以访问内部Web应用程序。
我已经按照官方文档中给出的所有步骤进行操作,并且工作正常。
但是,我在登录时遇到的一个奇怪的错误是身份验证页面每隔一天进入重定向循环。
根据现在,我的直接解决方法是更改web.config
文件中应用程序的Application/Client ID
。
<add key="ClientId" value="Enter_the_Application_Id_here" />
<add key="redirectUri" value="Enter_the_Redirect_URL_here" />
<add key="Tenant" value="common" />
<add key="Authority" value="https://login.microsoftonline.com/{0}/v2.0" />
因此,截至目前,我已经在Microsoft身份平台中创建了 2 个不同的应用程序,并且我重复使用相同的App Id
(每次停止工作时都会切换它们),并且一旦我更改App Id
,登录就开始工作。
不确定我是否遗漏了什么,但除了一些对我不起作用的 https://github.com/aspnet/Security/issues/219 之外,没有找到与此确切问题相关的任何内容。根据我在互联网上的理解和建议,如果这是一个与权限相关的问题,它不应该允许登录,但它确实允许登录。
事实证明,这是AD配置的问题。
我转到我的Azure App Service > Settings > Authentication/Authorization
并创建了一个新的 AD 应用程序,并在我的 Web 应用程序中使用此app
的App ID
,它现在工作正常。
听起来很奇怪,您的公司登录处于循环中。 它是否有可能进入您的应用程序,但如此"快速"以至于您没有注意到它。我之所以这样说,是因为我有一个网络应用程序并且有一个类似的循环。我发现这个过程是:
- 您的应用程序想要登录,
- 转到公司登录并执行登录过程,
- 对于带有令牌的应用,
- 再次到公司登录(仍然不完全确定为什么)
- 使用令牌返回应用程序,然后您登录
但是,如果您检查您的登录信息,请尽快登录。在步骤 3 中,它不会知道它已登录,因此它会返回到步骤 1。因此循环。
如果您的登录序列在应用程序启动时自动触发,它可能与我得到的相同。
问候格伦