- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的第一个问题,所以如果我遗漏了什么或需要提供更多信息,请告诉我!
关键细节:
我正在尝试将 Sitecore 链接到 Visual Studio 提供的 VS2012 LocalSTS 实例 Identity and Access Tool ,遵循 Kevin Buckley ( link ) 在 WIF 集成到 C# 4.5 之前编写的博客文章。我正在尝试执行被动 RP 行为。
我已经更新了Microsoft.IdentityModel
命名空间为System.IdentityModel
和System.IdentityModel.Services
适当的命名空间。
我的<system.IdentityModel>
部分如下:
<system.identityModel>
<identityConfiguration>
<audienceUris>
<add value="http://localhost/" />
</audienceUris>
<certificateValidation certificateValidationMode="None" />
<issuerNameRegistry type="System.IdentityModel.Tokens.ValidatingIssuerNameRegistry, System.IdentityModel.Tokens.ValidatingIssuerNameRegistry">
<authority name="LocalSTS">
<keys>
<add thumbprint="9B74CB2F320F7AAFC156E1252270B1DC01EF40D0" />
</keys>
<validIssuers>
<add name="LocalSTS" />
</validIssuers>
</authority>
</issuerNameRegistry>
</identityConfiguration>
我的<system.identityModel.services>
如下:
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false" />
<wsFederation passiveRedirectEnabled="true"
issuer="http://localhost:14691/wsFederationSTS/Issue"
realm="http://localhost/"
reply="http://localhost/sitecore modules/fedauthenticator/sso"
requireHttps="false" />
</federationConfiguration>
</system.identityModel.services>
我已在 <system.webServer><modules>
下添加了相关模块(WSFederationAuthenticationModule、SessionAuthenticationModule) :
<add type="Sitecore.Web.RewriteModule, Sitecore.Kernel"
name="SitecoreRewriteModule" />
<add type="Sitecore.Nexus.Web.HttpModule,Sitecore.Nexus"
name="SitecoreHttpModule" />
<add name="WSFederationAuthenticationModule"
type="System.IdentityModel.Services.WSFederationAuthenticationModule,
System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
preCondition="managedHandler" />
<add name="SessionAuthenticationModule"
type="FedAuthenticator.Authentication.WSSessionAuthenticationModule,
FedAuthenticator"
preCondition="managedHandler" />
我看到的行为如下:
reply
中指定的 URL wresult
中带有 token 信息的属性表单字段这就是问题发生的地方。我的理解是FAM Hook AuthenticateRequest
事件,然后继续检测安全 token (通过 wa
和 wresult
表单字段的存在和值)并解码 SSO token 。
我的问题是这种情况永远不会发生 - 我已启用跟踪并覆盖 WSFederationAuthenticationModule
检查,尽管它第一次正确检测到事件并调用 CreateSignInRequest
和RedirectToIdentityProvider
步骤,随后到站点的 POST(包含 token )不会触发 AuthenticateRequest,因此 FAM 不会检测、创建 cookie 或为请求分配正确的 IPrincipal。
这会导致无限循环,其中请求收到 401,将 302 重定向到 LocalSTS SSO 页面,该页面会提交,POST 到 Sitecore SSO 页面,该页面会发送 401,等等。
任何人都可以提供一些关于我遗漏的内容的见解,或者可能阻碍 FAM 检测其中包含 token 信息的 POST 请求的其他内容吗?
最佳答案
尴尬的是,回答我自己的问题 - 发生这种情况的原因是 response
参数将 SSO 表单 POST 定向到 Sitecore 响应的 URL,并重定向到 NotFound 页面(即Sitecore 将 POST 目标解析为不存在)。
由于 NotFound 页面没有任何安全性,因此 AuthenticateRequest 不会触发。
我还没有弄清楚为什么 NotFound 页面导致重定向回 SSO 页面 - 但至少现在,一旦我更正了 response
配置字段中的错误值, token 就会变为被 FAM 检测到并为后续模块(SAM 等)正确处理。
编辑 - 找到重定向循环的原因
重定向循环是由 web.config 中的错误设置引起的,如下所示:
<authorization>
<deny users="?"/>
</authorization>
这意味着 token 被发布到 NotFound 页面,Sitecore 显然拦截了该页面的请求,因此没有触发 FAM,因此用户未经过身份验证。这导致了 401 响应代码(由于拒绝语句),该代码启动 SSO 重定向 - 创建一个循环。
关于通过 SAML2 的 Sitecore SSO - AuthenticateRequest 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20234172/
我在 PingFederate 中配置了 IDP 发起的 SSO,它显示 SSO 应用端点 为:https://myserver/idp/startSSO.ping?PartnerSpId=sp_id
我在 PingFederate 中配置了 IDP 发起的 SSO,它显示 SSO 应用端点 为:https://myserver/idp/startSSO.ping?PartnerSpId=sp_id
我正在尝试使用我的 Office 加载项实现 SSO。为此,我使用 Office IdentityAPI,它要求您拥有一个应用程序 ID URI,该 URI 有一些限制(例如您拥有该域并且正在验证该域
谁能向我解释一下SP发起的SSO和IDP发起的SSO之间的主要区别是什么,包括哪一个是联合实现单点登录的更好解决方案与 ADFS + OpenAM 联盟? 最佳答案 IDP 启动 SSO 来自 Pin
我正在将 Azure Active Directory 配置为 Salesforce 的 SSO 身份验证提供程序。我已经在 Azure 中注册了该应用程序。当我尝试在 Azure 中为注册的应用程序
我正在将 Azure Active Directory 配置为 Salesforce 的 SSO 身份验证提供程序。我已经在 Azure 中注册了该应用程序。当我尝试在 Azure 中为注册的应用程序
我们将 AWS 控制台联合到我们的 Shibboleth IdP (SAML)。 AWS CLIv2 是否支持使用联合账户通过 SSO 访问 CLI?如果是这样——我在哪里可以找到下面链接中列出的“S
我在使用 Jira 插件时遇到多个问题:“Azure Active Directory 单点登录 (SSO) 与 Microsoft 的 JIRA SAML SSO 集成”。 问题: 安装插件时会出现
使用 IdentityServer3、Kentor.AuthServices 0.19(带有 OWIN 中间件)和标准 MVC 4 WebApi 2 应用程序,我们按照 https://github.
有关单点登录(SSO)之前有写过两篇文章 一文读懂 JWT! 看完这篇不能再说不懂SSO原理了! 如果说XXL-JOB你可能并不陌生,它是非常火爆的一个分布式任
我正在为 使用 WSO2 身份服务器SSO 与 saml 在我的演示应用程序中。 我的要求是用户应该向服务提供商登录页面提供登录凭据,而不是身份提供商页面。 出于同样的目的,我关注了 Asela 的以
我对如何使用 SiteMinder 和 OpenSSO 管理以下场景感兴趣 给定两个 Web 应用程序,并强制要求在它们之间使用 SSO。应用程序 A 是一个简单的应用程序,仅需要用户名/密码组合。应
我有一个现有的Wordpress网站。计划是使用cakePHP框架重建站点。由于时间限制,我想一次替换一个Wordpress网站的各个部分。这意味着两个应用程序将并排运行一段时间。我需要使用Wordp
我想在两个网络应用程序之间执行单点登录。这是我的场景: 应用程序 A 和 B(均提供 RESTFUL API)。 应用 B 使用基于表单的身份验证,我无法对应用 B 进行任何修改。此外,应用 A 和应
我是 Cypress 和 JS 的新手。如果未登录,我正在测试的应用程序将重定向到 stub IDP 页面。该应用程序也支持基本身份验证。我在测试中所做的就是cy.visit("https://use
我想为我的自定义 SPA 添加 Azure AD 身份验证。我已在 Azure 门户的应用程序注册中注册了该应用程序。 当我使用 API 调用此“APP”时,我可以获得登录屏幕和 MFA,但登录到 A
我正在尝试设置现有的 ASP.NET Web 应用程序以使用 SAML 或 OAUTH 2.0 对 Azure Active Directory 帐户进行身份验证。教程仅向我展示 MVC 中的示例代码
我正在尝试在基于 spring 的 Web 应用程序中实现一个简单的 SSO 功能。场景: 我有一个主应用程序 Application1 和一个辅助应用程序 2。两者都有自己的登录机制(使用 spri
我已经搜索了这个问题的答案,但是找不到任何答案。 我有一系列要使用同一Facebook应用程序的iOS应用程序。 SSO与我创建和测试的第一个应用程序完美配合。但是其他所有方法都失败,并返回了unkn
我发现 NTLMAuthenticationFilter.java 中有以下代码用于露天共享 SSO 身份验证: Response remoteRes; if (cachedNtlm)
我是一名优秀的程序员,十分优秀!