fix(api-keys): no se podía asignar el scope vcard
La pantalla lo ofrecía y las rutas de /api/v2/vcard lo exigen, pero la lista de scopes válidos del backend nunca lo incluyó: crear la llave devolvía "scope inválido: vcard" y la integración de vCard no tenía forma de autenticarse. La lista estaba escrita dos veces —una en Go y otra en el HTML— y se desincronizaron. Ahora la vista la pide al backend, así que no puede volver a ofrecer algo que el backend rechace, y un test fija que todo scope exigido por las rutas se pueda asignar. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
4135850e5b
commit
dda5898c0d
@@ -105,7 +105,9 @@
|
||||
<div>
|
||||
<label class="block text-xs font-medium text-gray-600 mb-2">Scopes *</label>
|
||||
<div class="border border-gray-200 rounded-lg p-3 space-y-2 bg-gray-50">
|
||||
<template x-for="s in ['oss', 'query_runner', 'usuarios', 'pasarelas', 'vcard']" :key="s">
|
||||
<!-- La lista viene del backend: cuando estaba escrita acá, la
|
||||
pantalla ofrecía scopes que el backend rechazaba al guardar. -->
|
||||
<template x-for="s in scopesDisponibles" :key="s">
|
||||
<label class="flex items-center gap-2 cursor-pointer select-none">
|
||||
<input type="checkbox" :checked="form.scopes.includes(s)"
|
||||
@change="toggleScope(s)" class="rounded text-[#8eb02f] focus:ring-[#8eb02f]">
|
||||
@@ -191,8 +193,15 @@ function apiKeysApp() {
|
||||
showModal: false, editItem: null, deleteId: null, regenerarId: null, tokenResult: null,
|
||||
errorMsg: '', successMsg: '', formError: '',
|
||||
form: { nombre: '', ip_permitida: '', scopes: [], activa: true },
|
||||
scopesDisponibles: [],
|
||||
|
||||
async init() { await this.load() },
|
||||
async init() {
|
||||
try {
|
||||
const r = await fetch('/app/api-keys/scopes')
|
||||
this.scopesDisponibles = await r.json()
|
||||
} catch { this.scopesDisponibles = [] }
|
||||
await this.load()
|
||||
},
|
||||
|
||||
async load() {
|
||||
this.loading = true; this.errorMsg = ''
|
||||
|
||||
Reference in New Issue
Block a user