Make auth/admin apps API calls use apiFetch, a new function that asks for permission by iframe if needed. Implement max-age checks for API authz.verify as well along with a custom exception type that carries metadata.

This commit is contained in:
Leo Vasanko
2025-12-03 11:17:02 -06:00
parent 7b0a9c2a2a
commit 1f75e0a305
15 changed files with 411 additions and 147 deletions
@@ -65,6 +65,7 @@ import { ref, onMounted, watch, computed, nextTick } from 'vue'
import QRCode from 'qrcode/lib/browser'
import { formatDate } from '@/utils/helpers'
import { useAuthStore } from '@/stores/auth'
import { apiFetch } from '@/utils/api'
const authStore = useAuthStore()
@@ -92,12 +93,7 @@ const expirationMessage = computed(() => {
async function fetchLink() {
try {
const res = await fetch(props.endpoint, { method: 'POST' })
if (res.status === 401) {
authStore.authRequired = true
emit('close')
return
}
const res = await apiFetch(props.endpoint, { method: 'POST' })
const data = await res.json()
if (data.detail) throw new Error(data.detail)
url.value = data.url