feat: improve authentication and cookie management

- Updated Docker and Turbo configuration to include more environment variables
- Modified API configuration to support dynamic cookie and CORS settings
- Enhanced user authentication flow with optional device ID and automatic generation
- Refactored login, register, and logout resolvers to handle device management
- Updated GraphQL schema to make device ID optional
- Improved web application logout and authentication handling
- Simplified client-side GraphQL mutations for login and registration
This commit is contained in:
Juan Sebastián Montoya 2025-03-10 00:41:39 -05:00
parent d29d116214
commit f9c6230101
15 changed files with 190 additions and 148 deletions

View file

@ -5,7 +5,8 @@ import { createMutation } from '@urql/solid';
const REGISTER_MUTATION = gql`
mutation Register($email: String!, $username: String!, $password: String!) {
register(email: $email, username: $username, password: $password) {
token
accessToken
refreshToken
user {
id
username
@ -54,10 +55,12 @@ export function RegisterForm(props: RegisterFormProps) {
}
if (result.data?.register) {
const { token, user } = result.data.register;
localStorage.setItem('token', token);
const { accessToken, user } = result.data.register;
localStorage.setItem('token', accessToken);
localStorage.setItem('userId', user.id);
props.onRegisterSuccess(token, user.id);
props.onRegisterSuccess(accessToken, user.id);
} else {
setError('Registration failed: No data received from server');
}
} catch (err) {
setError(err instanceof Error ? err.message : 'An error occurred');