@adonis-agora/authkit-react
Version:
Frontend ergonomics over AuthKit for AdonisJS + Inertia + React apps: a typed useAuth() hook, role-gating hooks and gating components.
16 lines (15 loc) • 708 B
JavaScript
import { useCallback } from 'react';
import { useAuthkitConfig } from '../config.js';
import { jsonRequest, useResource } from './use_resource.js';
export function useAuthorizedApps() {
const config = useAuthkitConfig();
const { data, loading, error, refetch } = useResource(config.endpoints.apps, config.csrfToken);
const revoke = useCallback(async (clientId) => {
await jsonRequest(`${config.endpoints.apps}/${encodeURIComponent(clientId)}/revoke`, {
method: 'POST',
csrfToken: config.csrfToken,
});
await refetch();
}, [config.endpoints.apps, config.csrfToken, refetch]);
return { data, loading, error, actions: { refetch, revoke } };
}