🔒 Add Discord OAuth permission check for developer tools access

This commit is contained in:
2026-01-30 05:40:37 +00:00
parent 616524d5ef
commit 7c512f410f

View File

@@ -121,9 +121,11 @@
<script setup>
import { ref, computed, onMounted, onUnmounted } from 'vue';
import { useAuth } from '../composables/useAuth.js';
import { useDiscordOAuth } from '../composables/useDiscordOAuth.js';
import { useFeatureFlags } from '../composables/useFeatureFlags.js';
const { user, token } = useAuth();
const discord = useDiscordOAuth();
const {
getFlags,
toggle: toggleFlagOverride,
@@ -135,11 +137,18 @@ const isOpen = ref(false);
// Show in development mode or when authenticated with permission in production
const isAvailable = computed(() => {
const isDev = process.env.NODE_ENV === 'development';
const hasPermission = user.value?.permissions?.includes(
// Check JWT token permissions
const hasJwtPermission = user.value?.permissions?.includes(
'developer_tools.view'
);
// Check Discord OAuth permissions
const hasDiscordPermission = discord.hasDevAccess();
const hasPermission = hasJwtPermission || hasDiscordPermission;
const isAuthenticatedInProduction =
process.env.NODE_ENV === 'production' && user.value && hasPermission;
process.env.NODE_ENV === 'production' && hasPermission;
return isDev || isAuthenticatedInProduction;
});
const nodeEnv = computed(() => process.env.NODE_ENV || 'unknown');