Skip to content

Commit 3950d07

Browse files
bartizanwaldekmastykarzCopilot
authored
Add error logging for a missing Authorization header during the minim… (dotnet#1420)
* Add error logging for a missing Authorization header during the minimal permission check * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Waldek Mastykarz <waldek@mastykarz.nl> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent ed116cc commit 3950d07

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

DevProxy.Plugins/Extensions/OpenApiDocumentExtensions.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,18 @@ 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+
continue;
45+
}
46+
47+
var scopesFromTheToken = MinimalPermissionsUtils.GetScopesFromToken(authorizationHeaderValue, logger);
3748
if (scopesFromTheToken.Length != 0)
3849
{
3950
tokenPermissions.AddRange(scopesFromTheToken);

0 commit comments

Comments
 (0)