Migração completa para Logto - Remoção de Clerk finalizada

This commit is contained in:
2026-03-31 10:32:42 +00:00
parent 87a87ae228
commit 49538cfbd4
21 changed files with 371 additions and 688 deletions
+10 -33
View File
@@ -1,43 +1,18 @@
import { createRoot } from 'react-dom/client'
import { LogtoProvider, type LogtoConfig } from '@logto/react';
import './index.css'
import App from './App.tsx'
const LOGTO_URL = import.meta.env.VITE_LOGTO_URL || 'https://logto-admin-bzlued1boxl3t8ewsyn99an9.187.77.227.172.sslip.io';
const APP_ID = import.meta.env.VITE_LOGTO_APP_ID || 'gpi-app-001';
const redirectUrl = `${window.location.origin}/auth/callback`;
function generateRandomString(length: number) {
const array = new Uint8Array(length);
crypto.getRandomValues(array);
return Array.from(array, (byte) => byte.toString(16).padStart(2, '0')).join('');
}
function storeState(state: string) {
sessionStorage.setItem('logto_oauth_state', state);
}
export function login() {
const state = generateRandomString(21);
storeState(state);
const params = new URLSearchParams({
client_id: APP_ID,
redirect_uri: redirectUrl,
response_type: 'code',
scope: 'openid profile email',
state: state
});
window.location.href = `${LOGTO_URL}/oidc/auth?${params.toString()}`;
}
export function logout() {
sessionStorage.removeItem('logto_token');
sessionStorage.removeItem('logto_user');
window.location.href = '/';
}
const config: LogtoConfig = {
endpoint: LOGTO_URL,
appId: APP_ID,
scopes: ['openid', 'profile', 'email'],
};
// Mantenha estas para compatibilidade temporária se necessário
export function getToken() {
return sessionStorage.getItem('logto_token');
}
@@ -53,5 +28,7 @@ export function setUser(token: string, user: any) {
}
createRoot(document.getElementById('root')!).render(
<App />
<LogtoProvider config={config}>
<App />
</LogtoProvider>
)