Document SignalR authentication refresh (.NET 11) - #37537
Open
BrennanConroy wants to merge 1 commit into
Open
Conversation
Add documentation for the new SignalR authentication refresh feature, which lets a connected client update its authentication credentials for an active connection without reconnecting. - authn-and-authz.md: Add an "Authentication refresh" section (gated to .NET 11) covering how to enable it on the server, refresh from the .NET and JavaScript clients, and react to a refresh in the hub. Cross-link the "User and role changes" section. - configuration.md: Document the new HttpConnectionDispatcherOptions members (EnableAuthenticationRefresh, MaximumAuthenticationExpiration, OnAuthenticationRefresh) in the advanced HTTP options. - client-features.md: Add an "Authentication Refresh" row to the client feature matrix. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
BrennanConroy
force-pushed
the
brennanconroy-signalr-auth-refresh
branch
from
August 25, 2026 22:27
dec62a2 to
0780a6c
Compare
wadepickett
approved these changes
Aug 26, 2026
Contributor
There was a problem hiding this comment.
@BrennanConroy: Approved. Looks great, I'm not spotting any issues. I'll put off merging however until the original requested reviewer has a chance to look it over.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
.NET 11 adds SignalR authentication refresh, which lets a connected client update its authentication credentials for an active connection without dropping and reconnecting. This PR documents the feature across the SignalR docs.
What's documented
authn-and-authz.md(main feature section, gated to>= aspnetcore-11.0):EnableAuthenticationRefresh, paired withCloseOnAuthenticationExpirationas the safety net that closes connections which aren't refreshed before their token expires).WithAuthenticationRefresh,RefreshAuthenticationAsync, and theAuthenticationRefreshed/AuthenticationRefreshFailedevents).withAuthenticationRefresh,refreshAuthentication,onAuthenticationRefreshed/onAuthenticationRefreshFailed).OnAuthenticationRefreshedAsync).configuration.md: Adds the newHttpConnectionDispatcherOptionsmembers (EnableAuthenticationRefresh,MaximumAuthenticationExpiration,OnAuthenticationRefresh) to the advanced HTTP options table.client-features.md: Adds an "Authentication Refresh" row to the client feature matrix (Server / .NET / JavaScript = 11.0.0; Java and Swift not supported).Notes for reviewers
dotnet/aspnetcoremainsource rather than the original API proposal. Some behavior changed late: a refresh whose principal maps to a different SignalR user is rejected with HTTP 403 (the connection stays alive with its current user), and a refresh never rekeysContext.UserIdentifierorClients.Userrouting. The client callbacks also moved off the options object ontoHubConnectionevents.<xref:>to avoid unresolved-xref build warnings.>= aspnetcore-11.0using the close/reopen pattern, since Learn monikers can't nest.ComponentHuboverride ofOnAuthenticationRefreshedAsyncis intentionally out of scope here; it belongs in the Blazor docs.Internal previews