Skip to content

SPTrustedIdentityTokenIssuer

dscbot edited this page Mar 17, 2023 · 17 revisions

SPTrustedIdentityTokenIssuer

Parameters

Parameter Attribute DataType Description Allowed Values
Name Key String Name of the SPTrustedIdentityTokenIssuer
Description Required String Description of the SPTrustedIdentityTokenIssuer
Realm Write String Default Realm that is passed to identity provider
SignInUrl Write String URL of the identity provider where user is redirected to for authentication
RegisteredIssuerName Write String Required for OIDC trust: Specify the identity of the issuer
AuthorizationEndPointUri Write String Required for OIDC trust: specify the sign-in URL of the issuer
DefaultClientIdentifier Write String Required for OIDC trust: specify the client identifier of the issuer
SignOutUrl Write String Required for OIDC trust: specify the sign-out URL of the issuer
IdentifierClaim Required String Identity claim type that uniquely identifies the user
ClaimsMappings Required MSFT_SPClaimTypeMapping[] Array of MSFT_SPClaimTypeMapping to use with cmdlet New-SPClaimTypeMapping
SigningCertificateThumbprint Write String Specify the thumbprint of the signing certificate, which must be located in certificate store LocalMachine\My
SigningCertificateFilePath Write String Specify the file path to the signing certificate if it is not stored in the local certificate store already
ClaimProviderName Write String Name of a claims provider to set with this SPTrustedIdentityTokenIssuer
ProviderSignOutUri Write String Sign-out URL
UseWReplyParameter Write Boolean WReply parameter allows SharePoint to specify the return URL to the 3rd party STS upon successful authentication
Ensure Write String Present if the SPTrustedIdentityTokenIssuer should be created, or Absent if it should be removed Present, Absent

MSFT_SPClaimTypeMapping

Parameters

Parameter Attribute DataType Description Allowed Values
Name Key String Display name of the incoming claim type
IncomingClaimType Required String URI of the incoming claim type
LocalClaimType Write String URI of the local claim type, not required if same as IncomingClaimType

Description

Type: Distributed Requires CredSSP: No

This resource is used to create or remove SPTrustedIdentityTokenIssuer in a SharePoint farm.

In SharePoint 2013 / 2016 / 2019, it can only be a SAML trust. In SharePoint Subscription, it can be a SAML trust or an OIDC trust.

For a SAML trust, the specific mandatory parameters are Realm, SignInUrl, and either SigningCertificateThumbPrint or SigningCertificateFilePath.

Either parameter SigningCertificateThumbPrint or SigningCertificateFilePath must be set. If specifying both SigningCertificateThumbPrint and SigningCertificateFilePath, the certificate thumbprint will be verified with the specified SigningCertificateThumbPrint. If the thumbprints doesn't match an exception will be thrown.

The SigningCertificateThumbPrint must be the thumbprint of the signing certificate stored in the certificate store LocalMachine\My of the server

Note that the private key of the certificate must not be available in the certiificate store because SharePoint does not accept it.

The SigningCertificateFilePath must be the file path to the public key of the signing certificate.

For an OIDC trust, the specific mandatory parameters are RegisteredIssuerName, AuthorizationEndPointUri, DefaultClientIdentifier and SignOutUrl.

The ClaimsMappings property is an array of MSFT_SPClaimTypeMapping to use with cmdlet New-SPClaimTypeMapping. Each MSFT_SPClaimTypeMapping requires properties Name and IncomingClaimType. Property LocalClaimType is not required if its value is identical to IncomingClaimType.

The IdentifierClaim property must match an IncomingClaimType element in ClaimsMappings array.

The ClaimProviderName property can be set to specify a custom claims provider. It must be already installed in the SharePoint farm and returned by cmdlet

The default value for the Ensure parameter is Present. When not specifying this parameter, the token issuer is created.

Examples

Example 1

This example deploys a trusted token issuer to the local farm, using a certificate in the local certificate store.

Configuration Example
{
    param
    (
        [Parameter(Mandatory = $true)]
        [PSCredential]
        $SetupAccount
    )

    Import-DscResource -ModuleName SharePointDsc

    node localhost
    {
        SPTrustedIdentityTokenIssuer SampleSPTrust
        {
            Name                         = "Contoso"
            Description                  = "Contoso"
            Realm                        = "https://sharepoint.contoso.com"
            SignInUrl                    = "https://adfs.contoso.com/adfs/ls/"
            IdentifierClaim              = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
            ClaimsMappings               =  @(
                MSFT_SPClaimTypeMapping {
                    Name              = "Email"
                    IncomingClaimType = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
                }
                MSFT_SPClaimTypeMapping {
                    Name              = "Role"
                    IncomingClaimType = "http://schemas.xmlsoap.org/ExternalSTSGroupType"
                    LocalClaimType    = "http://schemas.microsoft.com/ws/2008/06/identity/claims/role"
                }
            )
            SigningCertificateThumbPrint = "F0D3D9D8E38C1D55A3CEF3AAD1C18AD6A90D5628"
            ClaimProviderName            = "LDAPCP"
            ProviderSignOutUri           = "https://adfs.contoso.com/adfs/ls/"
            Ensure                       = "Present"
            PsDscRunAsCredential         = $SetupAccount
        }
    }
}

Example 2

This example deploys a trusted token issuer to the local farm, using a certificate in a file path.

Configuration Example
{
    param
    (
        [Parameter(Mandatory = $true)]
        [PSCredential]
        $SetupAccount
    )

    Import-DscResource -ModuleName SharePointDsc

    node localhost
    {
        SPTrustedIdentityTokenIssuer SampleSPTrust
        {
            Name                       = "Contoso"
            Description                = "Contoso"
            Realm                      = "https://sharepoint.contoso.com"
            SignInUrl                  = "https://adfs.contoso.com/adfs/ls/"
            IdentifierClaim            = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
            ClaimsMappings             =  @(
                MSFT_SPClaimTypeMapping {
                    Name              = "Email"
                    IncomingClaimType = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
                }
                MSFT_SPClaimTypeMapping {
                    Name              = "Role"
                    IncomingClaimType = "http://schemas.xmlsoap.org/ExternalSTSGroupType"
                    LocalClaimType    = "http://schemas.microsoft.com/ws/2008/06/identity/claims/role"
                }
            )
            SigningCertificateFilePath = "F:\Data\DSC\FakeSigning.cer"
            ClaimProviderName          = "LDAPCP"
            ProviderSignOutUri         = "https://adfs.contoso.com/adfs/ls/"
            Ensure                     = "Present"
            PsDscRunAsCredential       = $SetupAccount
        }
    }
}
Clone this wiki locally