我的服务提供商发出带有 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)
小智 5
我们的一位客户在连接我们的 Web 应用程序时遇到问题。我们想禁用加密以帮助调试我们收到的内容。以下是他们在 ADFS 2.0 服务器上禁用加密的步骤:
\n\n然后,在 Windows PowerShell 命令提示符处键入以下内容:
\n\nset-ADFSRelyingPartyTrust \xe2\x80\x93TargetName \xe2\x80\x9ctarget\xe2\x80\x9d \xe2\x80\x93EncryptClaims $False\nRun Code Online (Sandbox Code Playgroud)我解决这个问题的方法是这样的:
UPN为传出声明类型:并从“传出名称 ID 格式”下拉列表中Name ID选择nameid 格式transient这会导致 AD 以所需的格式发送 NameID:
<NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">Joe</NameID>
(我会将这个问题暂时“悬而未决”,以防有人有更好的解决方案。
| 归档时间: |
|
| 查看次数: |
9624 次 |
| 最近记录: |