Skip to content

Commit a7ed1fe

Browse files
committed
Add error logging for a missing Authorization header during the minimal permission check
1 parent 2340890 commit a7ed1fe

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

DevProxy.Plugins/Extensions/OpenApiDocumentExtensions.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,17 @@ public static ApiPermissionsInfo CheckMinimalPermissions(this OpenApiDocument op
3333
logger.LogDebug("Checking request {Request}...", methodAndUrl);
3434
var (method, url) = (methodAndUrlChunks[0].ToUpperInvariant(), methodAndUrlChunks[1]);
3535

36-
var scopesFromTheToken = MinimalPermissionsUtils.GetScopesFromToken(request.Context?.Session.HttpClient.Request.Headers.First(h => h.Name.Equals("authorization", StringComparison.OrdinalIgnoreCase)).Value, logger);
36+
var authorizationHeaderValue = request.Context?.Session.HttpClient.Request.Headers.FirstOrDefault(h => h.Name.Equals("authorization", StringComparison.OrdinalIgnoreCase))?.Value;
37+
if (authorizationHeaderValue is null)
38+
{
39+
errors.Add(new()
40+
{
41+
Request = methodAndUrl,
42+
Error = "No Authorization header found"
43+
});
44+
}
45+
46+
var scopesFromTheToken = MinimalPermissionsUtils.GetScopesFromToken(authorizationHeaderValue, logger);
3747
if (scopesFromTheToken.Length != 0)
3848
{
3949
tokenPermissions.AddRange(scopesFromTheToken);

0 commit comments

Comments
 (0)