几年来,我一直使用ADFS 2.x作为与SAML Passive Authentication配合使用的SAML IDP。 在请求上设置isPassive = true标志时,响应将包括以下StatusCode部分: <samlp:Status> <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Responder"> <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:NoPassive"/> </samlp:StatusCode> </samlp:Status> 与第二个状态代码NoPassive表明用户还没有login到ADFS。 但是,在我的新ADFS 3.0实例中,响应不包含NoPassive子态,因此无法确定响应是否为通用错误,或者是否为预期的NoPassive行为。 我想要有相同的行为。 有没有新的设置,或者我失踪的其他东西?
Microsoft Active Directory联合身份validation服务2.0最近已经发布,并且已经通过了SAML 2.0的互操作性testing 。 这是否意味着可用于validation也使用SAML的Google Apps用户? 有没有人成功地使用ADFS 2.0设置Google应用程序进行单点login? 如果你已经得到它的工作,请告诉我们什么是需要得到这个工作? 换句话说,是否有人将ADFS 2.0和Google Apps结合在一起使用? 我无法通过searchnetworkingfind任何东西。
我正在尝试build立一个声明感知的Web应用程序开发环境。 我是ADFS 2.0的新手,最终我希望能够对两个不同的域进行身份validation。 我觉得我非常接近,但是我从其中一个ADFS服务器收到证书错误。 在处理联合身份validation服务configuration期间,发现元素“serviceIdentityToken”具有无效数据。 已configuration的证书的私钥无法访问。 在Web应用程序中input凭据后,此错误将logging在域1上的ADFS服务器事件日志中。 即使有工作证书,我也会被传递到401未经授权的访问页面。 运行ADFS服务的用户帐户具有权限到证书的私钥,所以我不知道为什么我得到此错误。 我到目前为止所做的: 在域#1上创build一个服务器并安装ADFS 2.0 在域#2上创build服务器并安装ADFS 2.0 在域#1上创buildVS 2010的第三个开发服务器 在开发服务器上构build一个简单的应用程序,并使联合感知(按照http://msdn.microsoft.com/en-us/library/bb897402.aspx ); 在web.config中,联合服务器设置为域#1上的服务器 我也没有在任何一个ADFS服务器上build立一个依赖方信任。 这是必要的吗? 我似乎无法find任何好文件解释这应该如何工作。 我遵循这个( http://blogs.msdn.com/b/alextch/archive/2011/06/27/building-a-test-claims-aware-asp-net-application-andintegrating-it-with –adfs-2-0-security-token-service-sts.aspx )设置这个指南,但我觉得可能有一个简单的步骤,我已经错过了某个地方。 总结: 为什么我会得到上面的证书错误? 我是否缺less设置ADFS的任何步骤,以便我可以对这两个域进行身份validation? (我可能错过了将两个ADFS服务器连接在一起的步骤) 在此先感谢您的帮助。 熟悉ADFS的人可以在几分钟之内设置它!
我正在处理与ADFS相关的Web应用程序作为依赖方,以便与合作伙伴声明提供程序进行单点login。 这一切都是通过SAML(不是WS联盟)。networking应用程序是.NET,并使用WIF SAML扩展。 所有这些都适用于SSO。 不起作用的是向声明提供者单次注销。 我的应用程序通过WIF扩展正确地redirect到https://adfs.example.com/adfs/ls与SAML注销请求,并且ADFS转而回到/ saml / redirect / sloresponse我。 这一切都很好,但是从来没有发生过任何redirect上游到索赔提供者(SAML身份提供者)从那里注销。 声明提供程序确实在其SAML元数据中发布了SingleLogoutService,并且在声明提供程序直接与我的Web应用程序对话(在中间不使用ADFS)的情况下,它可以工作。 问题: ADFS中是否支持上游SAML单一注销? 在网上search发现了一些神秘的笔记,它不是,但我不能find一个明确的来源。 如果不在ADFS 2.0中,它在ADFS 2.1中吗? 如有必要,我们可以升级到Windows 2012。 如果不是SAML,ADFS可以使用WSFederation来做到这一点吗? 这两条腿都需要WSFed,既要求提供者信任也要依靠信任方? 如果根本不可能,是否有任何推荐的解决方法? 也许直接redirect到声明提供程序,并将SAML注销请求推送到ADFS? 谢谢!
一家公司正在使用带有ADFS身份validation的Office 365; AD Connect用于目录同步,ADFS是Windows服务器2012 R2版本。 该公司有多个Active Directory域: parent1.com child1.parent1.com child2.parent1.com child3.parent1.com parent2.com … … 根域在Office 365中configuration为联合域(公用域名和AD域名相同); 这个工作正常,用户可以使用他们的UPNlogin到Office 365,比如[email protected]和他们的AD密码。 我需要添加对子域的支持; 因此我通过运行以下命令(在使用Connect-MsolService以pipe理员帐户连接到Office 365之后)将child1.parent1.com添加到Office 365: New-MsolFederatedDomain -DomainName child1.parent1.com -SupportMultipleDomain (注意:如果我没有使用SupportMultipleDomain参数,PowerShell会给出一个错误,说明它是必需的)。 然后,我开始在私人和公共DNS中添加所有必需的DNSlogging; DNSlogging的Office 365validation报告一切正常。 然后将子域添加到AD Connect,并执行同步; 因此,来自子域的用户出现在Office 365中,其用户名如[email protected] 。 我为其分配了相应的许可证,并尝试login到Office 365门户。 但是,子域的用户无法login; 他们会收到一个“无效的请求”错误,并提供以下额外的详细信息: Correlation ID: b1e47d45-b21c-42e9-9758-265804db7171 Timestamp: 2016-08-10 20:27:48Z AADSTS50107: Requested federation realm object 'http://child1.parent1.com/adfs/services/trust/' does not exist. 在ADFS方面显然有些问题,但我不是专家,我也不是那个设置它的人。 […]
有一种简单的方法可以在单个ADFS声明规则中发布多个声明吗? 我能看到的唯一例子是查询属性存储的例子,每个检索的列映射到不同的索赔types。 我尝试了一种使用Types而不是Type的“显而易见”的方法,将两种types放在方括号中(按照SQL示例),但是我需要提供多个值 – 所以我想使用Values而不是Value 。 但无论如何,它都会在Types部分窒息。 这不起作用: c:[Type == incomingClaim, Value =~ incomingMatch] => issue(Types = (type1,type2), Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Values = (value1,value2), ValueType = c.ValueType); 其中incomingClaim , type1 , type2 , value1和value2是简单的string文字, incomingMatch是一个正则expression式。 当然,我可以将其作为多重索赔规则来做,但是我现在希望保持简单。 – 现在要出现〜5个传出的声明,但是我想要设置一些用户来获得所有的声明,而不必设置5个规则。 索赔的数量将随着时间的推移而增加。 (我只标记为ADFS – 我看不到任何其他明显的标签,包括)
我的服务提供者用一个NameIDPolicy标签发出一个SAML 2.0 AuthRequest,如下所示: <samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/> 这会导致ADFS 2.0正确发出一个SAML响应,其中包含一个由类似于此处find的规则创build的encryption的NameID标记 <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"> MyeHAMeGLojBt7fcc2DQtntXXFka0kybkR42ZTitTUs=</NameID> 然而,迄今为止这么好,我的服务提供者似乎并不了解encryption的NameID声明,并且期望它是未encryption的,同时将名称格式定义为transient 根据本文档 ,ADFS2.0将临时或持久NameID格式的请求视为隐私scheme(因此也称为encryption) 所以我的问题是:有没有什么办法让ADFS 2.0生成Format = transient的NameID声明,以及像这样的未encryption的NameID: <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">Joe</NameID>
我们正在使用Microsoft Online服务设置ADFS以进行联合身份validation。 该文档指出:“没有显示名称的组将不会同步…”我们有超过250个具有空白显示名称属性的组。 有没有人知道一种方法来设置displayname属性来匹配显示名为空的所有组的cn属性?
我有一个工作testing应用程序,它使用Windows Idendity Foundation SDK和ADFS 2.0进行身份validation,该应用程序在Windows Server 2008 R2,IIS 7.5,集成托pipepipe道应用程序池模式下运行。 我的问题是,我需要使用这种身份validation设置的“真正的”应用程序只能在传统代码pipe理stream水线应用程序池模式下运行,当我select它时,我收到一个“HttpException(0x80004005):失败执行URL“错误。 有没有人有一个想法如何解决这个问题? 更新:我发现https://example.com/myapplicatio/给我的错误,但https://example.com/myapplicatio/Default.aspx的作品。
我已经使用ADFS3实现了SSO。 我有注销button退出,它与我的ws联邦被动端点工作正常。 在注销时,我将用户redirect到logout.aspx页面,并且在页面上加载了代码 WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule; SignOutRequestMessage signOutRequestMessage = new SignOutRequestMessage(new Uri(authModule.Issuer), authModule.Realm); String queryString = signOutRequestMessage.WriteQueryString(); Response.Redirect(queryString); 其中一个应用程序使用SAML,所以我创build了一个SAML断言消费者端点。 所以,当我打开这个应用程序,并注销它会引发错误,当我查看ADFS的事件日志,我看到 Encountered error during federation passive request. Additional Data Protocol Name: wsfed Relying Party: Exception details: Microsoft.IdentityServer.RequestFailedException: MSIS7055: Not all SAML session participants logged out properly. It is recommended to close your browser. at Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSamlLogoutResponse(SamlContext […]