diff --git a/backend/templates/_openid_connect.conf b/backend/templates/_openid_connect.conf
index 9e0589c..19aa606 100644
--- a/backend/templates/_openid_connect.conf
+++ b/backend/templates/_openid_connect.conf
@@ -18,6 +18,27 @@
             ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
         end
 
+        {% if openidc_restrict_users_enabled -%}
+        local function contains(table, val)
+            for i=1,#table do
+                if table[i] == val then 
+                    return true
+                end
+            end
+            return false
+        end
+
+        local allowed_users = {
+            {% for user in openidc_allowed_users %}
+                "{{ user }}",
+            {% endfor %}
+        }
+
+        if not contains(allowed_users, res.id_token.email) then
+            ngx.exit(ngx.HTTP_FORBIDDEN)
+        end
+        {% endif -%}
+        
 
         ngx.req.set_header("X-OIDC-SUB", res.id_token.sub)
         ngx.req.set_header("X-OIDC-EMAIL", res.id_token.email)