Skip to content

Commit 0973868

Browse files
committed
Fetch HubIdentity in HubController, not UserIdentity
1 parent fddfa22 commit 0973868

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

Common/Extensions/ClaimsPrincipalExtensions.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@ namespace OpenShock.Common.Extensions;
66

77
public static class ClaimsPrincipalExtensions
88
{
9-
private static readonly Func<ClaimsIdentity, bool> UserClaimPredicate = x => x is
9+
private static readonly Func<ClaimsIdentity, bool> HubIdentityPredicate = x => x is
10+
{ IsAuthenticated: true, AuthenticationType: OpenShockAuthSchemes.HubToken };
11+
private static readonly Func<ClaimsIdentity, bool> UserIdentityPredicate = x => x is
1012
{ IsAuthenticated: true, AuthenticationType: OpenShockAuthSchemes.UserSessionCookie };
1113

12-
public static bool HasOpenShockUserIdentity(this ClaimsPrincipal principal) => principal.Identities.Any(UserClaimPredicate);
13-
public static ClaimsIdentity GetOpenShockUserIdentity(this ClaimsPrincipal principal) => principal.Identities.Single(UserClaimPredicate);
14-
public static ClaimsIdentity? TryGetOpenShockUserIdentity(this ClaimsPrincipal principal) => principal.Identities.SingleOrDefault(UserClaimPredicate);
14+
public static bool HasOpenShockUserIdentity(this ClaimsPrincipal principal) => principal.Identities.Any(UserIdentityPredicate);
15+
public static ClaimsIdentity GetOpenShockHubIdentity(this ClaimsPrincipal principal) => principal.Identities.Single(HubIdentityPredicate);
16+
public static ClaimsIdentity GetOpenShockUserIdentity(this ClaimsPrincipal principal) => principal.Identities.Single(UserIdentityPredicate);
17+
public static ClaimsIdentity? TryGetOpenShockUserIdentity(this ClaimsPrincipal principal) => principal.Identities.SingleOrDefault(UserIdentityPredicate);
1518
public static string GetClaimValue(this ClaimsIdentity identity, string claimType) => identity.Claims.Single(x => x.Type == claimType).Value;
1619
public static Guid GetClaimValueAsGuid(this ClaimsIdentity identity, string claimType) => Guid.Parse(GetClaimValue(identity, claimType));
1720
}

LiveControlGateway/Controllers/HubControllerBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ protected HubLifetime HubLifetime
6868
[NonAction]
6969
public void OnActionExecuting(ActionExecutingContext context)
7070
{
71-
var identity = User.GetOpenShockUserIdentity();
71+
var identity = User.GetOpenShockHubIdentity();
7272
CurrentHubId = identity.GetClaimValueAsGuid(OpenShockAuthClaims.HubId);
7373
CurrentHubOwnerId = identity.GetClaimValueAsGuid(ClaimTypes.NameIdentifier);
7474
}

0 commit comments

Comments
 (0)