Skip to main content

User Profiles

Access and update user profile information.


Accessing User Data

'use client';

import { useSyAuth } from '@syauth/nextjs';

export function UserProfile() {
const { user, isAuthenticated } = useSyAuth();

if (!isAuthenticated) {
return <p>Please log in</p>;
}

return (
<div>
<p><strong>Email:</strong> {user?.email}</p>
<p><strong>Name:</strong> {user?.first_name} {user?.last_name}</p>
</div>
);
}

User Object Properties

PropertyTypeDescription
idstringUnique user ID (UUID)
emailstringEmail address
first_namestringFirst name
last_namestringLast name
email_verifiedbooleanEmail verification status
registration_methodstringemail or google
created_atstringISO timestamp
last_loginstringISO timestamp

Updating Profiles

'use client';

import { useSyAuth } from '@syauth/nextjs';
import { useState } from 'react';

export function EditProfileForm() {
const { user, updateProfile, isLoading } = useSyAuth();
const [formData, setFormData] = useState({
first_name: user?.first_name || '',
last_name: user?.last_name || '',
});

const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault();
await updateProfile(formData);
alert('Profile updated');
};

// ... form JSX
}

Updatable Fields

FieldUpdatableNotes
first_name
last_name
emailRequires separate flow
passwordUse password update endpoint

Get Profile via API

GET https://api.syauth.com/e/v1/user/profile/
Authorization: Bearer <access-token>

Response:

{
"id": "user-uuid",
"email": "[email protected]",
"first_name": "John",
"last_name": "Doe",
"email_verified": true,
"registration_method": "email",
"created_at": "2024-01-01T00:00:00Z",
"last_login": "2024-01-15T10:30:00Z"
}

👉 Manage user profiles as an administrator: Dashboard → Users


Next Steps