Skip to content

Commit 68e5eb8

Browse files
committed
Add internal ModelContextProtocol.AspNetCore.Stateless namespace
1 parent 876bdbb commit 68e5eb8

6 files changed

Lines changed: 12 additions & 10 deletions

File tree

src/ModelContextProtocol.AspNetCore/HttpMcpSession.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using ModelContextProtocol.Protocol.Transport;
1+
using ModelContextProtocol.AspNetCore.Stateless;
2+
using ModelContextProtocol.Protocol.Transport;
23
using ModelContextProtocol.Server;
34
using System.Security.Claims;
45

@@ -7,7 +8,7 @@ namespace ModelContextProtocol.AspNetCore;
78
internal sealed class HttpMcpSession<TTransport>(
89
string sessionId,
910
TTransport transport,
10-
StatelessUserId? userId,
11+
UserIdClaim? userId,
1112
TimeProvider timeProvider) : IAsyncDisposable
1213
where TTransport : ITransport
1314
{
@@ -17,7 +18,7 @@ internal sealed class HttpMcpSession<TTransport>(
1718

1819
public string Id { get; } = sessionId;
1920
public TTransport Transport { get; } = transport;
20-
public StatelessUserId? UserIdClaim { get; } = userId;
21+
public UserIdClaim? UserIdClaim { get; } = userId;
2122

2223
public CancellationToken SessionClosed => _disposeCts.Token;
2324

src/ModelContextProtocol.AspNetCore/StatelessSessionId.cs renamed to src/ModelContextProtocol.AspNetCore/Stateless/StatelessSessionId.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
using ModelContextProtocol.Protocol.Types;
22
using System.Text.Json.Serialization;
33

4-
namespace ModelContextProtocol.AspNetCore;
4+
namespace ModelContextProtocol.AspNetCore.Stateless;
55

66
internal sealed class StatelessSessionId
77
{
88
[JsonPropertyName("clientInfo")]
99
public Implementation? ClientInfo { get; init; }
1010

1111
[JsonPropertyName("userIdClaim")]
12-
public StatelessUserId? UserIdClaim { get; init; }
12+
public UserIdClaim? UserIdClaim { get; init; }
1313
}

src/ModelContextProtocol.AspNetCore/StatelessSessionIdJsonContext.cs renamed to src/ModelContextProtocol.AspNetCore/Stateless/StatelessSessionIdJsonContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System.Text.Json.Serialization;
22

3-
namespace ModelContextProtocol.AspNetCore;
3+
namespace ModelContextProtocol.AspNetCore.Stateless;
44

55
[JsonSerializable(typeof(StatelessSessionId))]
66
internal sealed partial class StatelessSessionIdJsonContext : JsonSerializerContext;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
namespace ModelContextProtocol.AspNetCore.Stateless;
2+
3+
internal sealed record UserIdClaim(string Type, string Value, string Issuer);

src/ModelContextProtocol.AspNetCore/StatelessUserId.cs

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/ModelContextProtocol.AspNetCore/StreamableHttpHandler.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using Microsoft.Extensions.Logging;
66
using Microsoft.Extensions.Options;
77
using Microsoft.Net.Http.Headers;
8+
using ModelContextProtocol.AspNetCore.Stateless;
89
using ModelContextProtocol.Protocol.Messages;
910
using ModelContextProtocol.Protocol.Transport;
1011
using ModelContextProtocol.Protocol.Types;
@@ -314,7 +315,7 @@ internal static Task RunSessionAsync(HttpContext httpContext, IMcpServer session
314315
// SignalR only checks for ClaimTypes.NameIdentifier in HttpConnectionDispatcher, but AspNetCore.Antiforgery checks that plus the sub and UPN claims.
315316
// However, we short-circuit unlike antiforgery since we expect to call this to verify MCP messages a lot more frequently than
316317
// verifying antiforgery tokens from <form> posts.
317-
internal static StatelessUserId? GetUserIdClaim(ClaimsPrincipal user)
318+
internal static UserIdClaim? GetUserIdClaim(ClaimsPrincipal user)
318319
{
319320
if (user?.Identity?.IsAuthenticated != true)
320321
{

0 commit comments

Comments
 (0)