Key holding the authenticated principal, or null on an anonymous request.
The null default means context.get(userContext) resolves to null rather
than throwing when no principal is attached — React Router's get() throws
No value found for context for an unset key that has no default.
RouterContextKey<IPrincipal | null>