I am currently working on modifying a HRD policy to fit our needs. I have a claim 'domainParameter' that contains the email domain portion of the user login. I'm using a transform of LookupValue to map different domains. We have multiple groups who will be using our policy, some of which have multiple domains their users may sign up with. So our lookup shows something like the following:
<ClaimTransformation Id="GroupLookup" TransformationMethod="LookupValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="domainParameter" TransformationClaimType="inputParameterId" />
</InputClaims>
<InputParameters>
<InputParameter Id="company1.domain1" DataType="string" Value="company1" />
<InputParameter Id="company1.domain2" DataType="string" Value="company1" />
<InputParameter Id="company2.domain1" DataType="string" Value="company2" />
<InputParameter Id="errorOnFailedLookup" DataType="boolean" Value="false" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="domainGroup" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
This obviously works great when the domain is one of the listed domains, however we also want to allow local accounts to sign up/in and have them grouped into a group called "local", though name doesn't matter. From what I can find, I can't figure any way to have the claim assigned to a specific value if it fails the lookup. I can have it error on lookup by changing that parameter, but having it assign a value I see no way to do so. I have tried the DefaultValue attribute on 'domainGroup' both as an InputClaim and an OutputClaim, and neither work. I also see no option for wildcard selectors in the LookupValue.
Does anyone have a clue about how to get this done? I've scoured the documentation for a couple days now and have yet to find anything valuable.