Migração completa para Logto - Remoção de Clerk finalizada
This commit is contained in:
+10
-33
@@ -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>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user