Add ability to look for the role in header.

This commit is contained in:
2023-10-10 19:48:56 +01:00
parent 2f87f40822
commit 51dfc8d9be
4 changed files with 37 additions and 28 deletions
+5 -1
View File
@@ -54,8 +54,12 @@ func processGraphQLRequest(c *fiber.Ctx) error {
extractedUserID, extractedRoleName = extractClaimsFromJWTHeader(string(authorization))
}
if len(cfg.Client.RoleFromHeader) > 0 {
extractedRoleName = string(c.Request().Header.Peek(cfg.Client.RoleFromHeader))
}
// Implementing rate limiting if enabled
if cfg.Client.JWTRoleRateLimit {
if cfg.Client.RoleRateLimit {
cfg.Logger.Debug("Rate limiting enabled", map[string]interface{}{"user_id": extractedUserID, "role_name": extractedRoleName})
if !rateLimitedRequest(extractedUserID, extractedRoleName) {
c.Status(429).SendString("Rate limit exceeded, try again later")