Skip to content

Add passkeys to ASP.NET Core Identity #62112

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 36 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
01104ac
Initial commit
MackinnonBuck May 27, 2025
8294e9e
Remove extra entry in Version.Details.xml
MackinnonBuck May 27, 2025
725a304
Fix Program.Main.cs
MackinnonBuck May 27, 2025
f86515f
Fix failing tests
MackinnonBuck May 27, 2025
f828930
Merge remote-tracking branch 'origin/main' into mbuck/passkeys
MackinnonBuck May 28, 2025
ee5e007
Add passkey sample app + E2E tests
MackinnonBuck Jun 3, 2025
e23320c
Correctly specify transports in generated credential options
MackinnonBuck Jun 3, 2025
32d3f5f
Merge branch 'main' into mbuck/passkeys
MackinnonBuck Jun 3, 2025
b07c980
Merge branch 'main' into mbuck/passkeys
MackinnonBuck Jun 5, 2025
5d3b864
Undo changes to Components.slnf
MackinnonBuck Jun 5, 2025
af27faf
Move core passkey implementation to Microsoft.AspNetCore.Identity
MackinnonBuck Jun 5, 2025
65e6a37
Update Passkeys.razor
MackinnonBuck Jun 6, 2025
bb187c7
PR feedback
MackinnonBuck Jun 6, 2025
d178068
Update template passkey functionality
MackinnonBuck Jun 6, 2025
331b5f6
PR feedback
MackinnonBuck Jun 9, 2025
beecc32
PR feedback
MackinnonBuck Jun 9, 2025
2636c5e
Remove PasskeyRequestContext
MackinnonBuck Jun 9, 2025
ce0f0b1
API cleanups
MackinnonBuck Jun 10, 2025
d2cb5f5
Merge branch 'main' into mbuck/passkeys
MackinnonBuck Jun 10, 2025
7f63102
Try to fix CI
MackinnonBuck Jun 10, 2025
4711627
Merge branch 'mbuck/passkeys' of https://github.com/dotnet/aspnetcore…
MackinnonBuck Jun 10, 2025
8ee6b19
Update Versions.props
MackinnonBuck Jun 10, 2025
e82ddcb
Update Directory.Build.targets.in
MackinnonBuck Jun 10, 2025
b114f44
Better exceptions + clean up JSON representation
MackinnonBuck Jun 10, 2025
c11365d
Merge branch 'main' into mbuck/passkeys
MackinnonBuck Jun 10, 2025
03d8a62
PR feedback
MackinnonBuck Jun 11, 2025
cabe3ee
PR feedback
MackinnonBuck Jun 11, 2025
75fa369
Merge branch 'main' into mbuck/passkeys
MackinnonBuck Jun 11, 2025
927596b
Update template
MackinnonBuck Jun 11, 2025
c232673
PR feedback
MackinnonBuck Jun 11, 2025
f5d78e2
PR feedback
MackinnonBuck Jun 11, 2025
e7ccd11
Update baselines
MackinnonBuck Jun 12, 2025
5a91bbe
Merge branch 'main' into mbuck/passkeys
MackinnonBuck Jun 12, 2025
ac1bd58
PR feedback + a few tests
MackinnonBuck Jun 12, 2025
9c23ecd
Merge branch 'mbuck/passkeys' of https://github.com/dotnet/aspnetcore…
MackinnonBuck Jun 12, 2025
231cc6f
Add BOM to template files
MackinnonBuck Jun 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions AspNetCore.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,8 @@
<Folder Name="/src/Identity/samples/" Id="222336da-9e35-29e0-50c1-87e7441d2b2b">
<Project Path="src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj" />
<Project Path="src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj" />
<Project Path="src/Identity/samples/IdentitySample.PasskeyConformance/IdentitySample.PasskeyConformance.csproj" />
<Project Path="src/Identity/samples/IdentitySample.PasskeyUI/IdentitySample.PasskeyUI.csproj" />
</Folder>
<Folder Name="/src/Identity/Specification.Tests/" Id="f8dfe8a4-1d8c-9e84-e870-8ba24ebd08ff">
<Project Path="src/Identity/Specification.Tests/src/Microsoft.AspNetCore.Identity.Specification.Tests.csproj" />
Expand Down
1 change: 1 addition & 0 deletions eng/Dependencies.props
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ and are generated based on the last package release.
<LatestPackageReference Include="System.Diagnostics.DiagnosticSource" />
<LatestPackageReference Include="System.Diagnostics.EventLog" />
<LatestPackageReference Include="System.DirectoryServices.Protocols" />
<LatestPackageReference Include="System.Formats.Cbor" />
<LatestPackageReference Include="System.IdentityModel.Tokens.Jwt" />
<LatestPackageReference Include="System.IO.Pipelines" />
<LatestPackageReference Include="System.Memory" />
Expand Down
1 change: 1 addition & 0 deletions eng/SharedFramework.External.props
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Options.DataAnnotations" Version="$(MicrosoftExtensionsOptionsDataAnnotationsVersion)" />
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsVersion)" />
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Primitives" Version="$(MicrosoftExtensionsPrimitivesVersion)" />
<ExternalAspNetCoreAppReference Include="System.Formats.Cbor" Version="$(SystemFormatsCborVersion)" />
<ExternalAspNetCoreAppReference Include="System.Security.Cryptography.Xml" Version="$(SystemSecurityCryptographyXmlVersion)" />
<ExternalAspNetCoreAppReference Include="System.Threading.AccessControl" Version="$(SystemThreadingAccessControlVersion)" />
<ExternalAspNetCoreAppReference Include="System.Threading.RateLimiting" Version="$(SystemThreadingRateLimitingVersion)" />
Expand Down
4 changes: 4 additions & 0 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,10 @@
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>20fdc50b34ee89e7c54eef0a193c30ed4816597a</Sha>
</Dependency>
<Dependency Name="System.Formats.Cbor" Version="10.0.0-preview.6.25311.102">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>a4d6fdc935d5da12efb00a0b3b693ff1439e0b41</Sha>
</Dependency>
<Dependency Name="System.IO.Pipelines" Version="10.0.0-preview.6.25311.102">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>20fdc50b34ee89e7c54eef0a193c30ed4816597a</Sha>
Expand Down
1 change: 1 addition & 0 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@
<SystemDiagnosticsEventLogVersion>10.0.0-preview.6.25311.102</SystemDiagnosticsEventLogVersion>
<SystemDirectoryServicesProtocolsVersion>10.0.0-preview.6.25311.102</SystemDirectoryServicesProtocolsVersion>
<SystemFormatsAsn1Version>10.0.0-preview.6.25311.102</SystemFormatsAsn1Version>
<SystemFormatsCborVersion>10.0.0-preview.6.25311.102</SystemFormatsCborVersion>
<SystemIOPipelinesVersion>10.0.0-preview.6.25311.102</SystemIOPipelinesVersion>
<SystemNetHttpJsonVersion>10.0.0-preview.6.25311.102</SystemNetHttpJsonVersion>
<SystemNetHttpWinHttpHandlerVersion>10.0.0-preview.6.25311.102</SystemNetHttpWinHttpHandlerVersion>
Expand Down
8 changes: 4 additions & 4 deletions eng/common/build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Param(
# Unset 'Platform' environment variable to avoid unwanted collision in InstallDotNetCore.targets file
# some computer has this env var defined (e.g. Some HP)
if($env:Platform) {
$env:Platform=""
$env:Platform=""
}
function Print-Usage() {
Write-Host "Common settings:"
Expand Down Expand Up @@ -108,10 +108,10 @@ function Build {
# Re-assign properties to a new variable because PowerShell doesn't let us append properties directly for unclear reasons.
# Explicitly set the type as string[] because otherwise PowerShell would make this char[] if $properties is empty.
[string[]] $msbuildArgs = $properties
# Resolve relative project paths into full paths

# Resolve relative project paths into full paths
$projects = ($projects.Split(';').ForEach({Resolve-Path $_}) -join ';')

$msbuildArgs += "/p:Projects=$projects"
$properties = $msbuildArgs
}
Expand Down
4 changes: 2 additions & 2 deletions eng/tools/GenerateFiles/Directory.Build.targets.in
Original file line number Diff line number Diff line change
Expand Up @@ -133,14 +133,14 @@
</ItemGroup>

<!-- When building and running locally, manually resolve the just-built frameworks. On Helix, let the SDK resolve the packs itself (they're laid out on top of the .NET SDK in the work items) -->
<PropertyGroup Condition="$(UpdateAspNetCoreKnownFramework) and '$(HELIX_CORRELATION_PAYLOAD)' == ''">
<PropertyGroup Condition="'$(UpdateAspNetCoreKnownFramework)' == 'true' AND '$(HELIX_CORRELATION_PAYLOAD)' == ''">
<!-- Allow additional targeting and runtime packs to be downloaded only if required by a test. -->
<EnableTargetingPackDownload Condition="'$(TestRequiresTargetingPackDownload)' != 'true'">false</EnableTargetingPackDownload>
<EnableRuntimePackDownload Condition="'$(TestRequiresRuntimePackDownload)' != 'true'">false</EnableRuntimePackDownload>
<GenerateErrorForMissingTargetingPacks>false</GenerateErrorForMissingTargetingPacks>
</PropertyGroup>

<Target Name="ResolveLiveBuiltAspnetCoreKnownFramework" Condition="$(UpdateAspNetCoreKnownFramework) and '$(HELIX_CORRELATION_PAYLOAD)' == ''" AfterTargets="ResolveFrameworkReferences">
<Target Name="ResolveLiveBuiltAspnetCoreKnownFramework" Condition="'$(UpdateAspNetCoreKnownFramework)' == 'true' AND '$(HELIX_CORRELATION_PAYLOAD)' == ''" AfterTargets="ResolveFrameworkReferences">
<Error Text="Requested Microsoft.AspNetCore.App v${MicrosoftAspNetCoreAppRefVersion} ref pack does not exist."
Condition="!Exists('$(TargetingPackLayoutRoot)packs\Microsoft.AspNetCore.App.Ref\${MicrosoftAspNetCoreAppRefVersion}\data\FrameworkList.xml') " />
<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/Components/ComponentsNoDeps.slnf
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,4 @@
"src\\Components\\test\\testassets\\TestContentPackage\\TestContentPackage.csproj"
]
}
}
}
2 changes: 2 additions & 0 deletions src/Framework/test/TestData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ static TestData()
"Microsoft.Net.Http.Headers",
"System.Diagnostics.EventLog",
"System.Diagnostics.EventLog.Messages",
"System.Formats.Cbor",
"System.Security.Cryptography.Pkcs",
"System.Security.Cryptography.Xml",
"System.Threading.AccessControl",
Expand Down Expand Up @@ -306,6 +307,7 @@ static TestData()
{ "Microsoft.JSInterop" },
{ "Microsoft.Net.Http.Headers" },
{ "System.Diagnostics.EventLog" },
{ "System.Formats.Cbor" },
{ "System.Security.Cryptography.Xml" },
{ "System.Threading.AccessControl" },
{ "System.Threading.RateLimiting" },
Expand Down
Loading
Loading