If a create an Application via the Azure Portal, the manifest shows the source as null
"optionalClaims": {
"idToken": [
{
"name": "email",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "groups",
"source": null,
"essential": false,
"additionalProperties": [
"sam_account_name",
"emit_as_roles"
]
}
],
However if I create a optionalClaim via PowerShell, the resulting optionalClaim is string Empty and not null as provided.
"optionalClaims": {
"idToken": [
{
"name": "email",
"source": "",
"essential": false,
"additionalProperties": []
},
{
"name": "groups",
"source": "",
"essential": false,
"additionalProperties": [
"sam_account_name",
"emit_as_roles"
]
}
],
code to create the class instance in powershell is as follows, each of the instance uses the built in constructor and the 2nd parameter is the source, each is supplied as $null
$groups_claim = [Microsoft.Open.AzureAD.Model.OptionalClaim]::new("groups", $null, $false, @("sam_account_name","emit_as_roles"))
$email_claim = [Microsoft.Open.AzureAD.Model.OptionalClaim]::new("email", $null, $false, @())
$username_claim = [Microsoft.Open.AzureAD.Model.OptionalClaim]::new("preferred_username", $null, $false, @())
$idtoken_claims = [System.Collections.Generic.List[Microsoft.Open.AzureAD.Model.OptionalClaim]]::new(2)
$idtoken_claims.Add($email_claim)
$idtoken_claims.Add($groups_claim)
$accessToken_claims = [System.Collections.Generic.List[Microsoft.Open.AzureAD.Model.OptionalClaim]]::new(2)
$accessToken_claims.Add($username_claim)
$accessToken_claims.Add($groups_claim)
$optional_claims = [Microsoft.Open.AzureAD.Model.OptionalClaims]::new($idtoken_claims, $accessToken_claims)
Set-AzureADApplication -ObjectId $appObjectId -RequiredResourceAccess $requiredResourcesAccess -OptionalClaims $optional_claims
If a create an Application via the Azure Portal, the manifest shows the source as null
However if I create a optionalClaim via PowerShell, the resulting optionalClaim is string Empty and not null as provided.
code to create the class instance in powershell is as follows, each of the instance uses the built in constructor and the 2nd parameter is the source, each is supplied as $null