diff --git a/Directory.Build.props b/Directory.Build.props index 2f6899a..bc4d86b 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - 7.2.1 + 8.0.0 $(MicrosoftIdentityAbstractionsVersion) $(MSBuildThisFileDirectory)\build\35MSSharedLib1024.snk diff --git a/src/Microsoft.Identity.Abstractions/ApplicationOptions/CredentialDescription.cs b/src/Microsoft.Identity.Abstractions/ApplicationOptions/CredentialDescription.cs index 34e3560..5edf7f7 100644 --- a/src/Microsoft.Identity.Abstractions/ApplicationOptions/CredentialDescription.cs +++ b/src/Microsoft.Identity.Abstractions/ApplicationOptions/CredentialDescription.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +using System; using System.Security.Cryptography.X509Certificates; namespace Microsoft.Identity.Abstractions @@ -15,6 +16,45 @@ namespace Microsoft.Identity.Abstractions /// public class CredentialDescription { + /// + /// Default constructor. + /// + public CredentialDescription() + { + + } + + /// + /// Copy constructor for + /// + /// CredentialDescription to copy. + public CredentialDescription(CredentialDescription other) + { +#if NET8_0_OR_GREATER + ArgumentNullException.ThrowIfNull(other); +#else + if (other == null) + throw new ArgumentNullException(nameof(other)); +#endif + SourceType = other.SourceType; + KeyVaultUrl = other.KeyVaultUrl; + KeyVaultCertificateName = other.KeyVaultCertificateName; + CertificateStorePath = other.CertificateStorePath; + CertificateDistinguishedName = other.CertificateDistinguishedName; + CertificateThumbprint = other.CertificateThumbprint; + CertificateDiskPath = other.CertificateDiskPath; + CertificatePassword = other.CertificatePassword; + Base64EncodedValue = other.Base64EncodedValue; + ClientSecret = other.ClientSecret; + ManagedIdentityClientId = other.ManagedIdentityClientId; + SignedAssertionFileDiskPath = other.SignedAssertionFileDiskPath; + DecryptKeysAuthenticationOptions = other.DecryptKeysAuthenticationOptions; + Certificate = other.Certificate; + CachedValue = other.CachedValue; + Skip = other.Skip; + TokenExchangeUrl = other.TokenExchangeUrl; + } + private string? _cachedId; /// @@ -54,7 +94,7 @@ public string Id /// this value is the path to the credential in the cert store, for instance CurrentUser/My. /// /// - public string? Container + internal string? Container { get { @@ -334,7 +374,7 @@ public string? Container /// this value is the thumbprint. /// /// - public string? ReferenceOrValue + internal string? ReferenceOrValue { get { diff --git a/src/Microsoft.Identity.Abstractions/CompatibilitySuppressions.xml b/src/Microsoft.Identity.Abstractions/CompatibilitySuppressions.xml index c8e76dc..76e2625 100644 --- a/src/Microsoft.Identity.Abstractions/CompatibilitySuppressions.xml +++ b/src/Microsoft.Identity.Abstractions/CompatibilitySuppressions.xml @@ -1,6 +1,118 @@  - + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.get_Container + lib/net462/Microsoft.Identity.Abstractions.dll + lib/net462/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.get_ReferenceOrValue + lib/net462/Microsoft.Identity.Abstractions.dll + lib/net462/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.set_Container(System.String) + lib/net462/Microsoft.Identity.Abstractions.dll + lib/net462/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.set_ReferenceOrValue(System.String) + lib/net462/Microsoft.Identity.Abstractions.dll + lib/net462/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.get_Container + lib/net8.0/Microsoft.Identity.Abstractions.dll + lib/net8.0/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.get_ReferenceOrValue + lib/net8.0/Microsoft.Identity.Abstractions.dll + lib/net8.0/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.set_Container(System.String) + lib/net8.0/Microsoft.Identity.Abstractions.dll + lib/net8.0/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.set_ReferenceOrValue(System.String) + lib/net8.0/Microsoft.Identity.Abstractions.dll + lib/net8.0/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.get_Container + lib/netstandard2.0/Microsoft.Identity.Abstractions.dll + lib/netstandard2.0/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.get_ReferenceOrValue + lib/netstandard2.0/Microsoft.Identity.Abstractions.dll + lib/netstandard2.0/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.set_Container(System.String) + lib/netstandard2.0/Microsoft.Identity.Abstractions.dll + lib/netstandard2.0/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.set_ReferenceOrValue(System.String) + lib/netstandard2.0/Microsoft.Identity.Abstractions.dll + lib/netstandard2.0/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.get_Container + lib/netstandard2.1/Microsoft.Identity.Abstractions.dll + lib/netstandard2.1/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.get_ReferenceOrValue + lib/netstandard2.1/Microsoft.Identity.Abstractions.dll + lib/netstandard2.1/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.set_Container(System.String) + lib/netstandard2.1/Microsoft.Identity.Abstractions.dll + lib/netstandard2.1/Microsoft.Identity.Abstractions.dll + true + + + CP0002 + M:Microsoft.Identity.Abstractions.CredentialDescription.set_ReferenceOrValue(System.String) + lib/netstandard2.1/Microsoft.Identity.Abstractions.dll + lib/netstandard2.1/Microsoft.Identity.Abstractions.dll + true + CP0006 M:Microsoft.Identity.Abstractions.IDownstreamApi.PatchForAppAsync``1(System.String,``0,System.Action{Microsoft.Identity.Abstractions.DownstreamApiOptionsReadOnlyHttpMethod},System.Threading.CancellationToken) diff --git a/src/Microsoft.Identity.Abstractions/Properties/InternalVisibleTo.cs b/src/Microsoft.Identity.Abstractions/Properties/InternalVisibleTo.cs new file mode 100644 index 0000000..6c33c5f --- /dev/null +++ b/src/Microsoft.Identity.Abstractions/Properties/InternalVisibleTo.cs @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("Microsoft.Identity.Abstractions.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001002D96616729B54F6D013D71559A017F50AA4861487226C523959D1579B93F3FDF71C08B980FD3130062B03D3DE115C4B84E7AC46AEF5E192A40E7457D5F3A08F66CEAB71143807F2C3CB0DA5E23B38F0559769978406F6E5D30CEADD7985FC73A5A609A8B74A1DF0A29399074A003A226C943D480FEC96DBEC7106A87896539AD")] diff --git a/src/Microsoft.Identity.Abstractions/PublicAPI/net462/PublicAPI.Shipped.txt b/src/Microsoft.Identity.Abstractions/PublicAPI/net462/PublicAPI.Shipped.txt index 9f437fd..7568023 100644 --- a/src/Microsoft.Identity.Abstractions/PublicAPI/net462/PublicAPI.Shipped.txt +++ b/src/Microsoft.Identity.Abstractions/PublicAPI/net462/PublicAPI.Shipped.txt @@ -78,8 +78,6 @@ Microsoft.Identity.Abstractions.CredentialDescription.CertificateThumbprint.get Microsoft.Identity.Abstractions.CredentialDescription.CertificateThumbprint.set -> void Microsoft.Identity.Abstractions.CredentialDescription.ClientSecret.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.ClientSecret.set -> void -Microsoft.Identity.Abstractions.CredentialDescription.Container.get -> string? -Microsoft.Identity.Abstractions.CredentialDescription.Container.set -> void Microsoft.Identity.Abstractions.CredentialDescription.CredentialDescription() -> void Microsoft.Identity.Abstractions.CredentialDescription.CredentialType.get -> Microsoft.Identity.Abstractions.CredentialType Microsoft.Identity.Abstractions.CredentialDescription.DecryptKeysAuthenticationOptions.get -> Microsoft.Identity.Abstractions.AuthorizationHeaderProviderOptions? @@ -91,8 +89,6 @@ Microsoft.Identity.Abstractions.CredentialDescription.KeyVaultUrl.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.KeyVaultUrl.set -> void Microsoft.Identity.Abstractions.CredentialDescription.ManagedIdentityClientId.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.ManagedIdentityClientId.set -> void -Microsoft.Identity.Abstractions.CredentialDescription.ReferenceOrValue.get -> string? -Microsoft.Identity.Abstractions.CredentialDescription.ReferenceOrValue.set -> void Microsoft.Identity.Abstractions.CredentialDescription.SignedAssertionFileDiskPath.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.SignedAssertionFileDiskPath.set -> void Microsoft.Identity.Abstractions.CredentialDescription.Skip.get -> bool diff --git a/src/Microsoft.Identity.Abstractions/PublicAPI/net462/PublicAPI.Unshipped.txt b/src/Microsoft.Identity.Abstractions/PublicAPI/net462/PublicAPI.Unshipped.txt index 7dc5c58..6b8d6b4 100644 --- a/src/Microsoft.Identity.Abstractions/PublicAPI/net462/PublicAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Abstractions/PublicAPI/net462/PublicAPI.Unshipped.txt @@ -1 +1,2 @@ #nullable enable +Microsoft.Identity.Abstractions.CredentialDescription.CredentialDescription(Microsoft.Identity.Abstractions.CredentialDescription! other) -> void diff --git a/src/Microsoft.Identity.Abstractions/PublicAPI/net8.0/PublicAPI.Shipped.txt b/src/Microsoft.Identity.Abstractions/PublicAPI/net8.0/PublicAPI.Shipped.txt index 458a86f..ccde1f5 100644 --- a/src/Microsoft.Identity.Abstractions/PublicAPI/net8.0/PublicAPI.Shipped.txt +++ b/src/Microsoft.Identity.Abstractions/PublicAPI/net8.0/PublicAPI.Shipped.txt @@ -78,8 +78,6 @@ Microsoft.Identity.Abstractions.CredentialDescription.CertificateThumbprint.get Microsoft.Identity.Abstractions.CredentialDescription.CertificateThumbprint.set -> void Microsoft.Identity.Abstractions.CredentialDescription.ClientSecret.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.ClientSecret.set -> void -Microsoft.Identity.Abstractions.CredentialDescription.Container.get -> string? -Microsoft.Identity.Abstractions.CredentialDescription.Container.set -> void Microsoft.Identity.Abstractions.CredentialDescription.CredentialDescription() -> void Microsoft.Identity.Abstractions.CredentialDescription.CredentialType.get -> Microsoft.Identity.Abstractions.CredentialType Microsoft.Identity.Abstractions.CredentialDescription.DecryptKeysAuthenticationOptions.get -> Microsoft.Identity.Abstractions.AuthorizationHeaderProviderOptions? @@ -91,8 +89,6 @@ Microsoft.Identity.Abstractions.CredentialDescription.KeyVaultUrl.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.KeyVaultUrl.set -> void Microsoft.Identity.Abstractions.CredentialDescription.ManagedIdentityClientId.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.ManagedIdentityClientId.set -> void -Microsoft.Identity.Abstractions.CredentialDescription.ReferenceOrValue.get -> string? -Microsoft.Identity.Abstractions.CredentialDescription.ReferenceOrValue.set -> void Microsoft.Identity.Abstractions.CredentialDescription.SignedAssertionFileDiskPath.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.SignedAssertionFileDiskPath.set -> void Microsoft.Identity.Abstractions.CredentialDescription.Skip.get -> bool diff --git a/src/Microsoft.Identity.Abstractions/PublicAPI/net8.0/PublicAPI.Unshipped.txt b/src/Microsoft.Identity.Abstractions/PublicAPI/net8.0/PublicAPI.Unshipped.txt index 7dc5c58..6b8d6b4 100644 --- a/src/Microsoft.Identity.Abstractions/PublicAPI/net8.0/PublicAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Abstractions/PublicAPI/net8.0/PublicAPI.Unshipped.txt @@ -1 +1,2 @@ #nullable enable +Microsoft.Identity.Abstractions.CredentialDescription.CredentialDescription(Microsoft.Identity.Abstractions.CredentialDescription! other) -> void diff --git a/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt b/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt index 9f437fd..7568023 100644 --- a/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt +++ b/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt @@ -78,8 +78,6 @@ Microsoft.Identity.Abstractions.CredentialDescription.CertificateThumbprint.get Microsoft.Identity.Abstractions.CredentialDescription.CertificateThumbprint.set -> void Microsoft.Identity.Abstractions.CredentialDescription.ClientSecret.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.ClientSecret.set -> void -Microsoft.Identity.Abstractions.CredentialDescription.Container.get -> string? -Microsoft.Identity.Abstractions.CredentialDescription.Container.set -> void Microsoft.Identity.Abstractions.CredentialDescription.CredentialDescription() -> void Microsoft.Identity.Abstractions.CredentialDescription.CredentialType.get -> Microsoft.Identity.Abstractions.CredentialType Microsoft.Identity.Abstractions.CredentialDescription.DecryptKeysAuthenticationOptions.get -> Microsoft.Identity.Abstractions.AuthorizationHeaderProviderOptions? @@ -91,8 +89,6 @@ Microsoft.Identity.Abstractions.CredentialDescription.KeyVaultUrl.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.KeyVaultUrl.set -> void Microsoft.Identity.Abstractions.CredentialDescription.ManagedIdentityClientId.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.ManagedIdentityClientId.set -> void -Microsoft.Identity.Abstractions.CredentialDescription.ReferenceOrValue.get -> string? -Microsoft.Identity.Abstractions.CredentialDescription.ReferenceOrValue.set -> void Microsoft.Identity.Abstractions.CredentialDescription.SignedAssertionFileDiskPath.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.SignedAssertionFileDiskPath.set -> void Microsoft.Identity.Abstractions.CredentialDescription.Skip.get -> bool diff --git a/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt b/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt index 7dc5c58..6b8d6b4 100644 --- a/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt @@ -1 +1,2 @@ #nullable enable +Microsoft.Identity.Abstractions.CredentialDescription.CredentialDescription(Microsoft.Identity.Abstractions.CredentialDescription! other) -> void diff --git a/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.1/PublicAPI.Shipped.txt b/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.1/PublicAPI.Shipped.txt index 391a6ef..5ea211f 100644 --- a/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.1/PublicAPI.Shipped.txt +++ b/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.1/PublicAPI.Shipped.txt @@ -78,8 +78,6 @@ Microsoft.Identity.Abstractions.CredentialDescription.CertificateThumbprint.get Microsoft.Identity.Abstractions.CredentialDescription.CertificateThumbprint.set -> void Microsoft.Identity.Abstractions.CredentialDescription.ClientSecret.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.ClientSecret.set -> void -Microsoft.Identity.Abstractions.CredentialDescription.Container.get -> string? -Microsoft.Identity.Abstractions.CredentialDescription.Container.set -> void Microsoft.Identity.Abstractions.CredentialDescription.CredentialDescription() -> void Microsoft.Identity.Abstractions.CredentialDescription.CredentialType.get -> Microsoft.Identity.Abstractions.CredentialType Microsoft.Identity.Abstractions.CredentialDescription.DecryptKeysAuthenticationOptions.get -> Microsoft.Identity.Abstractions.AuthorizationHeaderProviderOptions? @@ -91,8 +89,6 @@ Microsoft.Identity.Abstractions.CredentialDescription.KeyVaultUrl.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.KeyVaultUrl.set -> void Microsoft.Identity.Abstractions.CredentialDescription.ManagedIdentityClientId.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.ManagedIdentityClientId.set -> void -Microsoft.Identity.Abstractions.CredentialDescription.ReferenceOrValue.get -> string? -Microsoft.Identity.Abstractions.CredentialDescription.ReferenceOrValue.set -> void Microsoft.Identity.Abstractions.CredentialDescription.SignedAssertionFileDiskPath.get -> string? Microsoft.Identity.Abstractions.CredentialDescription.SignedAssertionFileDiskPath.set -> void Microsoft.Identity.Abstractions.CredentialDescription.Skip.get -> bool diff --git a/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.1/PublicAPI.Unshipped.txt b/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.1/PublicAPI.Unshipped.txt index 7dc5c58..6b8d6b4 100644 --- a/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.1/PublicAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Abstractions/PublicAPI/netstandard2.1/PublicAPI.Unshipped.txt @@ -1 +1,2 @@ #nullable enable +Microsoft.Identity.Abstractions.CredentialDescription.CredentialDescription(Microsoft.Identity.Abstractions.CredentialDescription! other) -> void diff --git a/test/Microsoft.Identity.Abstractions.Tests/Microsoft.Identity.Abstractions.Tests.csproj b/test/Microsoft.Identity.Abstractions.Tests/Microsoft.Identity.Abstractions.Tests.csproj index 31732ec..8cd3828 100644 --- a/test/Microsoft.Identity.Abstractions.Tests/Microsoft.Identity.Abstractions.Tests.csproj +++ b/test/Microsoft.Identity.Abstractions.Tests/Microsoft.Identity.Abstractions.Tests.csproj @@ -5,6 +5,8 @@ enable false 12 + True + ../../build/MSAL.snk