OKTA SSO重定向:获取HTTP错误405.0 - 不允许方法

时间:2016-07-08 09:17:02

标签: single-sign-on http-status-code-405 okta

我使用OKTA作为SSO功能的Idp。我在OKTA&添加了一个应用程序定义了以下设置:

单点登录URL&受众URI(SP实体ID):http://localhost/KentorBeginner/(甚至尝试删除尾部斜杠)

在浏览OKTA SSO Url(与上述不同)时,okta重定向到我配置的IIS应用程序(KentorBeginner),但我收到HTTP错误405.0 - 方法不允许。 由于使用了无效的方法(HTTP动词),因此无法显示您要查找的页面。

请参阅以下屏幕截图以供参考。Direct-browse

感谢你。

此致 拉维卡拉瓦迪亚

2 个答案:

答案 0 :(得分:0)

实际上,问题在于将请求发布到html文件中。

IIS将html文件视为静态,只允许它们使用GET和HEAD谓词,因此当发布表单时,我收到“405 Method Not Allowed ...”因为无效方法(HTTP动词)正在显示使用了“错误。

我们需要配置您正在使用的任何语言来处理html文件而不是静态文件处理程序。

所以我在下面的条目中添加了使用不同处理程序处理html文件。

在System.WebServer的处理程序标记下。

以下是我的web.config片段。

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules>
      <remove name="WebDAVModule" />
    </modules>
    <handlers>
      <remove name="ISAPI-dll" />
      <remove name="StaticFile" />
      <remove name="WebDAV" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
      <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Script" />
      <add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Either" requireAccess="Execute" allowPathInfo="true" preCondition="bitness32" />
      <add name="html" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="%windir%\system32\inetsrv\asp.dll" resourceType="Unspecified" requireAccess="None" />
</handlers>
<defaultDocument enabled="true">
      <files>
        <clear />
        <add value="Hello.html" />
      </files>
    </defaultDocument>
    <security>
      <requestFiltering>
        <verbs>
          <add verb="POST" allowed="true" />
        </verbs>
        <fileExtensions>
          <add fileExtension=".html" allowed="true" />
        </fileExtensions>
      </requestFiltering>
    </security>
</system.webServer>

感谢你。

此致 拉维卡拉瓦迪亚

答案 1 :(得分:0)

我在Firefox上收到此错误,因为我正在使用Facebook Container扩展。在about:addons中禁用Facebook Container后,我可以正常登录-不会出现“ Method Method Allowed”错误