【问题标题】:How can I create an ADFS relying party with an additional SAML endpoint using PowerShell?如何使用 PowerShell 创建具有附加 SAML 端点的 ADFS 依赖方?
【发布时间】:2018-04-19 13:46:24
【问题描述】:

我想使用以下方法创建一个带有额外 SAML 端点的 ADFS 依赖方:

$SamlEndpoint = New-AdfsSamlEndpoint `
    -Binding "POST" `
    -Protocol "SAMLSingleSignOn" `
    -Uri "https://$AdditionalUrl/plugins/servlet/samlsso/metadata$SingleLogout"

Add-AdfsRelyingPartyTrust `
    -Name "$Name" `
    -MetadataUrl "https://$AppHost.lab.example.com/plugins/servlet/samlsso/metadata$SingleLogout" `
    -SamlEndpoint $SamlEndpoint `
    -AccessControlPolicyName "Permit Everyone" `
    -MonitoringEnabled $true `
    -AutoUpdateEnabled $true `
    -IssuanceTransformRules $IssuanceRules

没有参数-SamlEndpoint ... 脚本可以正常工作。我收到错误消息:

Add-AdfsRelyingPartyTrust : 参数集无法使用 指定的命名参数。在 C:\Users\ssh.AD\scripts\addRelyingParty.ps1:34 char:2 + 添加 AdfsRelyingPartyTrust ` + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Add-AdfsRelyingPartyTrust], ParameterBindingException + FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.IdentityServer.Management.Commands.AddRelyingPartyTrustCommand

我该怎么写?

【问题讨论】:

    标签: powershell active-directory saml adfs


    【解决方案1】:

    这里有几个问题。

    首先,$SamlEndpoint 必须是“SAMLAssertionConsumer”。 SAMLSingleSignOn 适用于声明提供者信任。

    其次,您在添加 RP 信任并启用和监控它的同时使用元数据。因此 cmdlet 将尝试下载元数据并使用其值来定义 RP 信任属性,例如端点。您无需提供端点配置,因为它在元数据中发布。

    但是,如果您想添加您认为合适的 RP 信任,然后让 AD FS 通过轮询元数据进行监控和修复,我建议您这样做。

    $SamlEndpoint = New-AdfsSamlEndpoint `
    -Binding "POST" `
    -Protocol "SAMLAssertionConsumer" `
    -index 0 -isdefault $false `
    -Uri "https://some/post/url/endpoint"
    
    $samlEndpoint2 = New-AdfsSamlEndpoint `
    -Binding Redirect `
    -Protocol SAMLAssertionConsumer `
    -Uri "https://some/redirect/endpoint"`
    -Index 1 `
    -IsDefault $true
    
    
    Add-AdfsRelyingPartyTrust `
    -Name "$Name" `
    -Identifier "http://x/y" `
    -SamlEndpoint $SamlEndpoint,$samlendpoint2 `
    -AccessControlPolicyName "Permit Everyone" `
    -MonitoringEnabled $false `
    -AutoUpdateEnabled $false `
    -IssuanceTransformRulesFile c:\my\rulesfile.txt
    
    Get-AdfsRelyingPartyTrust -Name $name | Set-AdfsRelyingPartyTrust `
    -MetadataUrl "https://$AppHost.lab.example.com/plugins/servlet/samlsso/metadata$SingleLogout"  `
    -MonitoringEnabled $true     `
    -AutoUpdateEnabled $true
    

    【讨论】:

      猜你喜欢
      • 2015-08-02
      • 2013-03-16
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多