Add modular group verification system with frontend and backend checks

This commit implements a comprehensive, reusable group verification system:

Components:
- GroupCheckButton: Base component for group verification
- 7 specialized buttons: 3 real groups (authentik Admins, grupo-prueba, lvl0), 1 public access test, 2 system verification buttons
- All buttons support both frontend and backend verification modes

Backend:
- New API endpoint /api/auth/check-group for server-side group validation
- Reads Authentik headers and validates group membership

Frontend:
- Enhanced useAuthentik composable with hasGroup() and checkGroupBackend() methods
- Toast notifications for all verification results
- Smooth animations and color-coded visual feedback

UI Improvements:
- Organized layout with cards for different verification types
- Grid layout for group buttons
- Professional styling with hover effects and shadows
- Clear visual distinction between frontend/backend checks
This commit is contained in:
2025-10-13 04:09:42 -06:00
parent f52f9f393f
commit 43bcf4a647
10 changed files with 451 additions and 1 deletions

View File

@@ -0,0 +1,20 @@
<template>
<AuthGroupCheckButton
group-name="authentik Admins"
label="Authentik Admins"
icon="i-heroicons-shield-check"
color="red"
variant="soft"
:verify-backend="verifyBackend"
/>
</template>
<script setup lang="ts">
interface Props {
verifyBackend?: boolean
}
withDefaults(defineProps<Props>(), {
verifyBackend: false
})
</script>