diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Extensions/ReceiverClaimExtensions.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Extensions/ReceiverClaimExtensions.cs index e4b29df9..13720e38 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Extensions/ReceiverClaimExtensions.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Extensions/ReceiverClaimExtensions.cs @@ -96,6 +96,21 @@ public static class ReceiverClaimExtensions throw new InvalidOperationException($"Claim '{EnvelopeClaimNames.ReceiverId}' is not a valid integer."); } + /// + /// Gets the authenticated sender identifier from the 'sub' claim. + /// + /// + /// + /// + public static int SenderId(this ClaimsPrincipal user) + { + var senderIdStr = user.GetRequiredClaimValue(JwtRegisteredClaimNames.Sub, ClaimTypes.NameIdentifier); + if (int.TryParse(senderIdStr, out var senderId)) + return senderId; + else + throw new InvalidOperationException($"Claim '{JwtRegisteredClaimNames.Sub}' is not a valid integer."); + } + /// /// ///