Вы можете добавлять один и тот же тип заявки несколько раз, например:
foreach(var f in user.Functions)
identity.AddClaim(CustomClaimTypes.Functions, f.ToString(), OpenIdConnectConstants.Destinations.IdentityToken);
В качестве альтернативы, вы можете объединить целые числа и разделить их после доступа к заявке:
if (user.Functions.Any())
{
var joinedFunctions = string.Join(";", user.Functions);
identity.AddClaim(CustomClaimTypes.Functions, joinedFunctions, OpenIdConnectConstants.Destinations.IdentityToken);
}
КомуИзвлеките значения, которые вы можете затем разделить:
functionsClaimValue.split(';');
Необходимо убедиться, что выбранный разделитель (в данном примере точка с запятой) не может содержаться в качестве обычного символа в значениях.