我已将公司的所有用户的 UPN 后缀从us.mycompany.local更改为mycompany.com,以便使用声明感知应用程序。在更改之前的测试中,我发现即使我更改了 UPN 后缀,用户也可以使用旧后缀成功进行身份验证。我不明白的是为什么这仍然有效。
我有一个使用 Windows Idendity Foundation SDK 和 ADFS 2.0 进行身份验证的工作测试应用程序,它在 Windows Server 2008 R2、IIS 7.5、集成托管管道应用程序池模式上运行。
我的问题是,由于遗留代码,我需要使用这种身份验证设置的“真实”应用程序只能在经典托管管道应用程序池模式下运行,当我选择它时,我收到“HttpException (0x80004005): Failed to执行 URL”错误。
有谁知道如何解决这个问题?
更新:我发现https://example.com/myapplicatio/给了我错误,但https://example.com/myapplicatio/Default.aspx有效。
我和我的同事正在尝试在 ADFS 2.2 中启用 OAuth。一切正常,除了服务器只传回一个访问令牌(带过期)并且在成功登录后不包括刷新令牌。关于此的文档很少,但是有人知道需要更新哪些设置才能返回刷新令牌吗?
编辑:该建议的OAuth 2.0规范状态:
颁发刷新令牌是可选的,由授权服务器决定。如果授权服务器发出刷新令牌,则在发出访问令牌时包含它
由于我收到了访问令牌,但没有刷新令牌,而且由于 ADFS 目前仅实现 OAuth 的代码流,因此我猜测 ADFS 团队选择不返回刷新令牌。不过,我很想确切地听到这一点。
编辑:就像下面的 Travis 所说,确保
IssueOAuthRefreshTokensTo设置正确AlwaysRequireAuthentication是假的TokenLifetime低于 ADFSSSOLifetime与客户端一起配置 ADFS,刚刚在电子邮件中收到了这个:
“我们使用 Server 2008 Enterprise,在同一台机器上运行 AD、GP、DNS 和 DHCP。”
现在他表示他也想在同一个盒子上安装 ADFS。我什至不确定 ADFS 和 AD 是否可以在同一台服务器上,但如果可以,我也想知道这是否是个好主意。
我的服务提供商发出带有 NameIDPolicy 标记的 SAML 2.0 AuthRequest,如下所示:
<samlp:NameIDPolicy AllowCreate="true"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
Run Code Online (Sandbox Code Playgroud)
这会导致 ADFS 2.0 正确发出 SAML 响应,其中包含由类似于此处找到的规则创建的加密 NameID 令牌
<NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">
MyeHAMeGLojBt7fcc2DQtntXXFka0kybkR42ZTitTUs=</NameID>
Run Code Online (Sandbox Code Playgroud)
然而,到目前为止一切顺利,我的服务提供商似乎不理解加密的 NameID 声明,并期望它未加密,同时名称格式为transient
根据本文档,ADFS2.0 将瞬时或持久 NameID 格式的请求视为隐私场景(以及加密)
所以我的问题是:有没有办法让 ADFS 2.0 生成具有 Format=transient 的 NameID 声明和未加密的 NameID,如下所示:
<NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">Joe</NameID>
Run Code Online (Sandbox Code Playgroud) 我正在处理作为依赖方连接到 ADFS 的 Web 应用程序,以便与合作伙伴声明提供程序进行单点登录集成。这一切都通过 SAML(而不是 WS 联合)。Web 应用程序是 .NET 并使用 WIF SAML 扩展。所有这些都适用于 SSO。
不起作用的是单点注销到索赔提供者。我的应用程序通过 WIF 扩展正确重定向到带有 SAML 注销请求的https://adfs.example.com/adfs/ls,然后 ADFS 又在 /saml/redirect/sloresponse 重定向回我。这一切都很好,但永远不会发生任何上游到声明提供者(SAML 身份提供者)以从那里注销的情况。声明提供程序确实在其 SAML 元数据中发布了 SingleLogoutService,并且当声明提供程序直接将 SAML 与我的 Web 应用程序对话(中间没有 ADFS)时,它会起作用。
问题:
ADFS 是否完全支持上游 SAML 单点注销?在网上搜索我发现了一些神秘的笔记,但我找不到确切的来源。
如果不在 ADFS 2.0 中,是否在 ADFS 2.1 中?如有必要,我们可以升级到 Windows 2012。
如果不是 SAML,ADFS 可以使用 WSFederation 做到这一点吗?声明提供者信任和依赖方信任都需要 WSFed 吗?
如果根本不可能,是否有任何推荐的解决方法?也许直接重定向到声明提供程序并将 SAML 注销请求推送到 ADFS?
谢谢!
我想objectGUID使用在 Windows Server 2012 上运行的 AD FS 2.0 作为声明发送。
我知道我可以为依赖方信任创建颁发转换规则,但 AD FS 2.0 如何知道objectGUID?我是否需要objectGUID在 AD FS\Service\Claim Descriptions 下添加声明描述?
我需要实现一个可以从公司外部访问的公司网站。要求用户能够使用与访问公司网络 (Active Directory) 相同的凭据登录。我最初想使用 ADFS,但似乎无法访问有关其他用户的信息。我需要能够列出其他用户,获取他们所属的组等。我也可能需要修改有关服务器中用户的信息。
我没有任何与 Active Directory 相关的经验。直接将 LDAP 与自定义身份验证一起使用是更好的选择吗?有什么建议或更正吗?
几年来,我一直使用 ADFS 2.x 作为与 SAML 被动身份验证配合使用的 SAML IDP。当在请求上设置 isPassive=true 标志时,响应将包括以下状态代码部分:
<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>
Run Code Online (Sandbox Code Playgroud)
带有 NoPassive 的辅助状态代码,以指示用户尚未登录到 ADFS。
但是,在我的新 ADFS 3.0 实例上,响应不包括 NoPassive 子状态,因此无法确定响应是一般错误还是预期的 NoPassive 行为。我希望行为是相同的。
对此是否有新设置,或者我缺少其他什么?
我正在使用联合身份进行 Office-365 单点登录。我已将密码更改端点添加到我的 ADFS 3.0 服务器,并成功打开了 adfs 更新密码页面。但是,每当我尝试更新密码时,都会出现上述错误。我确定了以下几点:
1- 我的密码太复杂,包含大写、小写、数字和非字母数字字符
2- 我等了 1 小时,因为我发现 ADSI 编辑器中密码的最小年龄为 1 小时
我打开组策略管理--> 扩展我的域名--> 域控制器--> 默认域控制器策略--> 右键单击编辑--> 导航到密码策略。我发现所有策略设置都设置为“未定义”。
我打开我的 ADFS 服务器并打开本地组策略编辑器 --> 导航到密码策略,设置如下:

我确保我的密码符合这些设置:
启用此策略设置后,用户必须创建强密码以满足以下最低要求:
密码不能包含用户的帐户名或超过两个连续字符的用户全名部分。
密码长度必须至少为六个字符。
密码必须包含来自以下四个类别中的三个类别的字符:
英文大写字符(A 到 Z)。
英文小写字符(a 到 z)。
非字母字符(例如,!、$、#、%)。
我无法通过 ADFS 密码更改页面更新密码有什么问题?
active-directory adfs password-policy windows-server-2012-r2