simpleSAMLphp 和 Azure 给我“AADSTS50011:请求中指定的回复 URL

我是 Azure SSO 的新手,所以我可能在这里遗漏了一些明显的东西 - 请记住这一点 ;-)


我需要将我的应用程序集成到 Azure Active Directory。在我们的组织中没有太多帮助,所以我只能在这里找到问题:-/ 我的确切问题是,当我登录时,我从 Azure 收到此错误:


AADSTS50011: The reply URL specified in the request does not match the 

reply URLs configured for the application: 'https://192.168.0.1/secure/'.

我当然已经搜索过如何自己解决这个问题,但我没有找到任何可以让我更接近的东西。

我有这个设置:

  • IIS

  • PHP

  • 简单的SAMLphp

  • 天青广告

我没有设置也没有访问 Azure 部分,因为这是由我们的 IT 人员设置的,但他们已经设置了这个:

Basic SAML Configuration


Identifier (Entity ID)                      : https://192.168.0.1/secure/

Reply URL (Assertion Consumer Service URL)  : https://192.168.0.1/secure/

Sign on URL                                 : Optional

Relay State                                 : Optional

Logout URL                                  : Optional

我从 Azure 收到了一个联合 XML 文件,并将其转换/填充到 simpleSAMLphp 文件\metadata\saml20-idp-remote.php


我已经设置了\config\authsources.php文件:


'entityID'                   => "https://192.168.0.1/secure/",

'idp'                        => "https://sts.windows.net/06dg12k9-1wl2-4mue-79gh-40ff1a8dnd4a/",

'NameIDFormat'               => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',

'simplesaml.nameidattribute' => 'eduPersonTargetedID',

一切都已根据本指南进行配置,https://www.lewisroberts.com/2015/09/05/single-sign-on-to-azure-ad-using-simplesamlphp/


当我启动https://192.168.0.1/simpleSAMLphp/www/并转到身份验证和测试配置的身份验证源并使用default-sp进行测试时,我确实得到了一个 Azure 登录屏幕。如果我查看它的 URL,那么它看起来像这样:


https://login.microsoftonline.com/0ad94219-6af5-474e-99d0-60f9188f3fce/saml2

    ?SAMLRequest=f[CUT]2Fy%2Fi%2Bjc%3D

    &RelayState=https%3A%2F%2F192.168.0.1%2FsimpleSAMLphp%2Fwww%2Fmodule.php%2Fcore%2Fauthenticate.php%3Fas%3Ddefault-sp

我假设RelayState是我的服务器上请求的来源。我尝试将Azure 中的实体 ID和回复 URL设置为https://192.168.0.1/simpleSAMLphp/www/module.php/core/authenticate.php?as=default-sp但结果相同。


所以我在这里提供了我所知道的一切,但我对如何解决这个问题真的一无所知?我是否需要在 simpleSAMLphp 中配置回复 URL,以便将其作为 URL 参数传递?


任何帮助将不胜感激。


撒科打诨
浏览 63回答 1
1回答

烙印99

RelayState只是一个按原样回显给您的 SP 的参数。例如,它可用于存储用户在身份验证之前尝试访问的页面 url。如果您使用SAML2的是,replyURL 应该是您AssertionConsumerService的 SP 元数据中的 url。Azure 将发送到SAML Response那里。如果该网址与您不同,https://192.168.0.1/secure/您将收到该错误。即使缺少尾随/也会导致错误。
打开App,查看更多内容
随时随地看视频慕课网APP