According to the trace in Application Insights, I'm missing the `givenName` claim. The exception message is:

```
""Message"": ""A Claim of ClaimType with id \""givenName\"" was not found, which is required by the ClaimsTransformationImpl of Type \""Microsoft.Cpim.Data.Transformations.StringReplaceTransformation\"" for TransformationMethod \""StringReplace\"" referenced by the ClaimsTransformation with id \""NormalizeGivenNameMeijburg\"" in policy \""B2C_1A_MeijburgExtension\"" of tenant \""isideb2cdev.onmicrosoft.com\""."",

```

What's really confusing though is that earlier in the trace, I can see the SAML assertion, and it definitely has that claim. See a snippet below (I wasn't sure if it contained sensitive info, so I left a lot of the assertion out here):

```
<saml:Attribute Name=\""givenname\""><saml:AttributeValue>Redmar</saml:AttributeValue></saml:Attribute><saml:Attribute Name=\""surname\""><saml:AttributeValue>de Vries</saml:AttributeValue></saml:Attribute>

```

In my RP file, I have the following in the `TechnicalProfile` tag:

```
<TechnicalProfile Id="Policy Profile">
    <DisplayName>PolicyProfile</DisplayName>
    <Protocol Name="OpenIdConnect" />
    <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="Meijburg.com" />
        <OutputClaim ClaimTypeReferenceId="issuerUserId" />
        <OutputClaim ClaimTypeReferenceId="alternativeSecurityId" />
    </OutputClaims>
    <SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>

```

In the extension file, I have the following in `OutputClaims` tag:

```
<OutputClaims>
    <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="assertionSubjectName" />
    <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname" />
    <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" />
    <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" />
    <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="Meijburg.com" />
</OutputClaims>

```

The client's metadata has the following in the `ClaimTypesOffered` tag:

```
<fed:ClaimTypesOffered>
    <auth:ClaimType Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Name</auth:DisplayName>
        <auth:Description>The mutable display name of the user.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Subject</auth:DisplayName>
        <auth:Description>An immutable, globally unique, non-reusable identifier of the user that is unique to the application for which a token is issued.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Given Name</auth:DisplayName>
        <auth:Description>First name of the user.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Surname</auth:DisplayName>
        <auth:Description>Last name of the user.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/identity/claims/displayname" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Display Name</auth:DisplayName>
        <auth:Description>Display name of the user.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/identity/claims/nickname" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Nick Name</auth:DisplayName>
        <auth:Description>Nick name of the user.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Authentication Instant</auth:DisplayName>
        <auth:Description>The time (UTC) when the user is authenticated to Windows Azure Active Directory.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Authentication Method</auth:DisplayName>
        <auth:Description>The method that Windows Azure Active Directory uses to authenticate users.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/identity/claims/objectidentifier" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>ObjectIdentifier</auth:DisplayName>
        <auth:Description>Primary identifier for the user in the directory. Immutable, globally unique, non-reusable.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/identity/claims/tenantid" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>TenantId</auth:DisplayName>
        <auth:Description>Identifier for the user's tenant.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/identity/claims/identityprovider" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>IdentityProvider</auth:DisplayName>
        <auth:Description>Identity provider for the user.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Email</auth:DisplayName>
        <auth:Description>Email address of the user.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Groups</auth:DisplayName>
        <auth:Description>Groups of the user.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/identity/claims/accesstoken" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>External Access Token</auth:DisplayName>
        <auth:Description>Access token issued by external identity provider</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/expiration" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>External Access Token Expiration</auth:DisplayName>
        <auth:Description>UTC expiration time of access token issued by external identity provider.</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/identity/claims/openid2_id" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>External OpenID 2.0 Identifier</auth:DisplayName>
        <auth:Description>OpenID 2.0 identifier issued by external identity provider</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/claims/groups.link" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>GroupsOverageClaim</auth:DisplayName>
        <auth:Description>Issued when number of user's group claims exceeds return limit</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>Role Claim</auth:DisplayName>
        <auth:Description>Roles that the user or Service Principal is attached to</auth:Description>
    </auth:ClaimType>
    <auth:ClaimType Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/wids" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
        <auth:DisplayName>RoleTemplate Id Claim</auth:DisplayName>
        <auth:Description>Role template id of the Built-in Directory Roles that the user is a member of</auth:Description>
    </auth:ClaimType>
</fed:ClaimTypesOffered>

```

I'm failing to see where I'm going wrong here. One interesting tidbit...Currently the first ClaimsTransformation that runs runs on givenName. However, if I change the first one to run on surname, the claim says that that Claims Transformation is missing the claim `surname`. How can I get the claims to go through like they're supposed to?