Skip to content

Commit 01104ac

Browse files
committed
Initial commit
1 parent c912eee commit 01104ac

File tree

111 files changed

+6286
-89
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+6286
-89
lines changed

AspNetCore.slnx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,7 @@
392392
<Folder Name="/src/Identity/samples/" Id="222336da-9e35-29e0-50c1-87e7441d2b2b">
393393
<Project Path="src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj" />
394394
<Project Path="src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj" />
395+
<Project Path="src/Identity/samples/IdentitySample.PasskeyConformance/IdentitySample.PasskeyConformance.csproj" />
395396
</Folder>
396397
<Folder Name="/src/Identity/Specification.Tests/" Id="f8dfe8a4-1d8c-9e84-e870-8ba24ebd08ff">
397398
<Project Path="src/Identity/Specification.Tests/src/Microsoft.AspNetCore.Identity.Specification.Tests.csproj" />

eng/Dependencies.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ and are generated based on the last package release.
8282
<LatestPackageReference Include="System.Diagnostics.DiagnosticSource" />
8383
<LatestPackageReference Include="System.Diagnostics.EventLog" />
8484
<LatestPackageReference Include="System.DirectoryServices.Protocols" />
85+
<LatestPackageReference Include="System.Formats.Cbor" />
8586
<LatestPackageReference Include="System.IdentityModel.Tokens.Jwt" />
8687
<LatestPackageReference Include="System.IO.Pipelines" />
8788
<LatestPackageReference Include="System.Memory" />

eng/SharedFramework.External.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Options.DataAnnotations" Version="$(MicrosoftExtensionsOptionsDataAnnotationsVersion)" />
4343
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsVersion)" />
4444
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Primitives" Version="$(MicrosoftExtensionsPrimitivesVersion)" />
45+
<ExternalAspNetCoreAppReference Include="System.Formats.Cbor" Version="$(SystemFormatsCborVersion)" />
4546
<ExternalAspNetCoreAppReference Include="System.Security.Cryptography.Xml" Version="$(SystemSecurityCryptographyXmlVersion)" />
4647
<ExternalAspNetCoreAppReference Include="System.Threading.AccessControl" Version="$(SystemThreadingAccessControlVersion)" />
4748
<ExternalAspNetCoreAppReference Include="System.Threading.RateLimiting" Version="$(SystemThreadingRateLimitingVersion)" />

eng/Version.Details.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,10 @@
211211
<Uri>https://github.com/dotnet/dotnet</Uri>
212212
<Sha>a4d6fdc935d5da12efb00a0b3b693ff1439e0b41</Sha>
213213
</Dependency>
214+
<Dependency Name="System.Formats.Cbor" Version="10.0.0-preview.5.25270.108">
215+
<Uri>https://github.com/dotnet/dotnet</Uri>
216+
<Sha>a4d6fdc935d5da12efb00a0b3b693ff1439e0b41</Sha>
217+
</Dependency>
214218
<Dependency Name="System.IO.Pipelines" Version="10.0.0-preview.5.25270.108">
215219
<Uri>https://github.com/dotnet/dotnet</Uri>
216220
<Sha>a4d6fdc935d5da12efb00a0b3b693ff1439e0b41</Sha>
@@ -291,6 +295,10 @@
291295
<Uri>https://github.com/dotnet/dotnet</Uri>
292296
<Sha>a4d6fdc935d5da12efb00a0b3b693ff1439e0b41</Sha>
293297
</Dependency>
298+
<Dependency Name="Microsoft.Bcl.Memory" Version="10.0.0-preview.4.25177.9">
299+
<Uri>https://github.com/dotnet/runtime</Uri>
300+
<Sha>fa004fb5ce5ec9f99d1c3ba3adc48c9473cc8eaa</Sha>
301+
</Dependency>
294302
<!-- Transitive package to provide coherency in dotnet/extensions -->
295303
<Dependency Name="Microsoft.Bcl.TimeProvider" Version="10.0.0-preview.5.25270.108">
296304
<Uri>https://github.com/dotnet/dotnet</Uri>

eng/Versions.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
<SystemDiagnosticsEventLogVersion>10.0.0-preview.5.25270.108</SystemDiagnosticsEventLogVersion>
118118
<SystemDirectoryServicesProtocolsVersion>10.0.0-preview.5.25270.108</SystemDirectoryServicesProtocolsVersion>
119119
<SystemFormatsAsn1Version>10.0.0-preview.5.25270.108</SystemFormatsAsn1Version>
120+
<SystemFormatsCborVersion>10.0.0-preview.5.25270.108</SystemFormatsCborVersion>
120121
<SystemIOPipelinesVersion>10.0.0-preview.5.25270.108</SystemIOPipelinesVersion>
121122
<SystemNetHttpJsonVersion>10.0.0-preview.5.25270.108</SystemNetHttpJsonVersion>
122123
<SystemNetHttpWinHttpHandlerVersion>10.0.0-preview.5.25270.108</SystemNetHttpWinHttpHandlerVersion>

eng/common/build.ps1

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Param(
3636
# Unset 'Platform' environment variable to avoid unwanted collision in InstallDotNetCore.targets file
3737
# some computer has this env var defined (e.g. Some HP)
3838
if($env:Platform) {
39-
$env:Platform=""
39+
$env:Platform=""
4040
}
4141
function Print-Usage() {
4242
Write-Host "Common settings:"
@@ -106,10 +106,10 @@ function Build {
106106
# Re-assign properties to a new variable because PowerShell doesn't let us append properties directly for unclear reasons.
107107
# Explicitly set the type as string[] because otherwise PowerShell would make this char[] if $properties is empty.
108108
[string[]] $msbuildArgs = $properties
109-
110-
# Resolve relative project paths into full paths
109+
110+
# Resolve relative project paths into full paths
111111
$projects = ($projects.Split(';').ForEach({Resolve-Path $_}) -join ';')
112-
112+
113113
$msbuildArgs += "/p:Projects=$projects"
114114
$properties = $msbuildArgs
115115
}

src/Components/Components.slnf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,10 @@
8383
"src\\Http\\Authentication.Core\\src\\Microsoft.AspNetCore.Authentication.Core.csproj",
8484
"src\\Http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
8585
"src\\Http\\Http.Abstractions\\src\\Microsoft.AspNetCore.Http.Abstractions.csproj",
86+
"src\\Http\\Http.Extensions\\gen\\Microsoft.AspNetCore.Http.RequestDelegateGenerator\\Microsoft.AspNetCore.Http.RequestDelegateGenerator.csproj",
8687
"src\\Http\\Http.Extensions\\src\\Microsoft.AspNetCore.Http.Extensions.csproj",
8788
"src\\Http\\Http.Features\\src\\Microsoft.AspNetCore.Http.Features.csproj",
89+
"src\\Http\\Http.Results\\src\\Microsoft.AspNetCore.Http.Results.csproj",
8890
"src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj",
8991
"src\\Http\\Metadata\\src\\Microsoft.AspNetCore.Metadata.csproj",
9092
"src\\Http\\Routing.Abstractions\\src\\Microsoft.AspNetCore.Routing.Abstractions.csproj",
@@ -100,13 +102,16 @@
100102
"src\\Localization\\Localization\\src\\Microsoft.Extensions.Localization.csproj",
101103
"src\\Middleware\\CORS\\src\\Microsoft.AspNetCore.Cors.csproj",
102104
"src\\Middleware\\Diagnostics.Abstractions\\src\\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj",
105+
"src\\Middleware\\Diagnostics.EntityFrameworkCore\\src\\Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj",
103106
"src\\Middleware\\Diagnostics\\src\\Microsoft.AspNetCore.Diagnostics.csproj",
104107
"src\\Middleware\\HostFiltering\\src\\Microsoft.AspNetCore.HostFiltering.csproj",
105108
"src\\Middleware\\HttpOverrides\\src\\Microsoft.AspNetCore.HttpOverrides.csproj",
106109
"src\\Middleware\\HttpsPolicy\\src\\Microsoft.AspNetCore.HttpsPolicy.csproj",
107110
"src\\Middleware\\Localization\\src\\Microsoft.AspNetCore.Localization.csproj",
111+
"src\\Middleware\\OutputCaching\\src\\Microsoft.AspNetCore.OutputCaching.csproj",
108112
"src\\Middleware\\ResponseCaching.Abstractions\\src\\Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj",
109113
"src\\Middleware\\ResponseCompression\\src\\Microsoft.AspNetCore.ResponseCompression.csproj",
114+
"src\\Middleware\\Session\\src\\Microsoft.AspNetCore.Session.csproj",
110115
"src\\Middleware\\StaticFiles\\src\\Microsoft.AspNetCore.StaticFiles.csproj",
111116
"src\\Middleware\\WebSockets\\src\\Microsoft.AspNetCore.WebSockets.csproj",
112117
"src\\Mvc\\Mvc.Abstractions\\src\\Microsoft.AspNetCore.Mvc.Abstractions.csproj",
@@ -126,12 +131,14 @@
126131
"src\\ObjectPool\\src\\Microsoft.Extensions.ObjectPool.csproj",
127132
"src\\Razor\\Razor.Runtime\\src\\Microsoft.AspNetCore.Razor.Runtime.csproj",
128133
"src\\Razor\\Razor\\src\\Microsoft.AspNetCore.Razor.csproj",
134+
"src\\Security\\Authentication\\BearerToken\\src\\Microsoft.AspNetCore.Authentication.BearerToken.csproj",
129135
"src\\Security\\Authentication\\Cookies\\src\\Microsoft.AspNetCore.Authentication.Cookies.csproj",
130136
"src\\Security\\Authentication\\Core\\src\\Microsoft.AspNetCore.Authentication.csproj",
131137
"src\\Security\\Authorization\\Core\\src\\Microsoft.AspNetCore.Authorization.csproj",
132138
"src\\Security\\Authorization\\Policy\\src\\Microsoft.AspNetCore.Authorization.Policy.csproj",
133139
"src\\Security\\CookiePolicy\\src\\Microsoft.AspNetCore.CookiePolicy.csproj",
134140
"src\\Servers\\Connections.Abstractions\\src\\Microsoft.AspNetCore.Connections.Abstractions.csproj",
141+
"src\\Servers\\HttpSys\\src\\Microsoft.AspNetCore.Server.HttpSys.csproj",
135142
"src\\Servers\\IIS\\IISIntegration\\src\\Microsoft.AspNetCore.Server.IISIntegration.csproj",
136143
"src\\Servers\\IIS\\IIS\\src\\Microsoft.AspNetCore.Server.IIS.csproj",
137144
"src\\Servers\\Kestrel\\Core\\src\\Microsoft.AspNetCore.Server.Kestrel.Core.csproj",

src/Components/ComponentsNoDeps.slnf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,4 @@
6262
"src\\Components\\test\\testassets\\TestContentPackage\\TestContentPackage.csproj"
6363
]
6464
}
65-
}
65+
}

src/Identity/Core/src/EventIds.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,6 @@ internal static class EventIds
1515
public static EventId UserLockedOut = new EventId(3, "UserLockedOut");
1616
public static EventId UserCannotSignInWithoutConfirmedAccount = new EventId(4, "UserCannotSignInWithoutConfirmedAccount");
1717
public static EventId TwoFactorSecurityStampValidationFailed = new EventId(5, "TwoFactorSecurityStampValidationFailed");
18+
public static EventId NoPasskeyCreationOptions = new EventId(6, "NoPasskeyCreationOptions");
19+
public static EventId UserDoesNotMatchPasskeyCreationOptions = new EventId(7, "UserDoesNotMatchPasskeyCreationOptions");
1820
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
4+
using Microsoft.AspNetCore.Http;
5+
using Microsoft.Extensions.Options;
6+
7+
namespace Microsoft.AspNetCore.Identity;
8+
9+
internal sealed class HttpPasskeyRequestContextProvider(IHttpContextAccessor httpContextAccessor, IOptions<IdentityOptions> options) : IPasskeyRequestContextProvider
10+
{
11+
private PasskeyRequestContext? _context;
12+
13+
public PasskeyRequestContext Context => _context ??= GetPasskeyRequestContext();
14+
15+
private PasskeyRequestContext GetPasskeyRequestContext()
16+
{
17+
var passkeyOptions = options.Value.Passkey;
18+
var httpContext = httpContextAccessor.HttpContext;
19+
return new()
20+
{
21+
Domain = passkeyOptions.ServerDomain ?? httpContext?.Request.Host.Host,
22+
Origin = httpContext?.Request.Headers.Origin,
23+
};
24+
}
25+
}

0 commit comments

Comments
 (0)