diff --git a/BuildingBlocks/src/DevelopmentKit.Identity/ValueObjects/IdentityAddress.cs b/BuildingBlocks/src/DevelopmentKit.Identity/ValueObjects/IdentityAddress.cs index 079feaebe1..44ce54fbf8 100644 --- a/BuildingBlocks/src/DevelopmentKit.Identity/ValueObjects/IdentityAddress.cs +++ b/BuildingBlocks/src/DevelopmentKit.Identity/ValueObjects/IdentityAddress.cs @@ -130,7 +130,7 @@ public static implicit operator IdentityAddress(string stringValue) return ParseUnsafe(stringValue); } - [GeneratedRegex($@"^(?did:e:(?(?:[a-z0-9]+\.)*[a-z]{{2,}}):dids:(?[0-9a-f]{{20}}))(?[0-9a-f]{{{CHECKSUM_LENGTH_S}}})$")] + [GeneratedRegex($@"^(?did:e:(?(?:[a-z0-9-]+\.)*[a-z]{{2,}}):dids:(?[0-9a-f]{{20}}))(?[0-9a-f]{{{CHECKSUM_LENGTH_S}}})$")] public static partial Regex IdentityAddressValidatorRegex(); #endregion diff --git a/BuildingBlocks/test/DevelopmentKit.Identity.Tests/IdentityAddressTests.cs b/BuildingBlocks/test/DevelopmentKit.Identity.Tests/IdentityAddressTests.cs index 88352edf2b..55503ee1b9 100644 --- a/BuildingBlocks/test/DevelopmentKit.Identity.Tests/IdentityAddressTests.cs +++ b/BuildingBlocks/test/DevelopmentKit.Identity.Tests/IdentityAddressTests.cs @@ -70,6 +70,14 @@ public void ValidAddressesAreAccepted() isValid.Should().BeTrue(); } + [Fact] + public void DashesAreAllowedCharactersInDomainNames() + { + var isValid = IdentityAddress.IsValid("did:e:bkb-nmshd-preprod.nbpdev.de:dids:a75bf465d17e972367a986"); + + isValid.Should().BeTrue(); + } + [Fact] public void AddressesWithInvalidChecksumAreDeclined() {