Commit 0fde51fe by Arjun Jhukal

updated the minor changes

parent c0301948
import { SeonProvider } from '@/app/SeonProvider'
import LoginPage from '@/components/pages/auth/login'
import React from 'react'
export default function Login() {
return (
<SeonProvider>
<LoginPage />
</SeonProvider>
)
}
......@@ -5,9 +5,14 @@ import seon from "@seontechnologies/seon-javascript-sdk";
type SeonContextType = {
deviceId?: string;
loading: boolean;
sessionData?: any; // For storing additional session information if available
};
const SeonContext = createContext<SeonContextType>({ deviceId: undefined, loading: true });
const SeonContext = createContext<SeonContextType>({
deviceId: undefined,
loading: true,
sessionData: undefined
});
export const useSeon = () => useContext(SeonContext);
......@@ -16,7 +21,7 @@ export const SeonProvider: React.FC<{ children: React.ReactNode }> = ({ children
const [loading, setLoading] = useState(true);
useEffect(() => {
// Initialize the SDK on page load
seon.init({
behavioralDataCollection: {
targets: 'input[type="text"], .behavior',
......@@ -24,9 +29,12 @@ export const SeonProvider: React.FC<{ children: React.ReactNode }> = ({ children
},
});
// Collect fingerprint
// Collect fingerprint session
seon.getSession()
.then((session: any) => {
.then((session: string) => {
// session holds the encrypted fingerprint as a base64 encoded string
// This is what you send to your backend for fraud detection
console.log("Device fingerprint session:", session);
setDeviceId(session);
setLoading(false);
})
......@@ -35,10 +43,10 @@ export const SeonProvider: React.FC<{ children: React.ReactNode }> = ({ children
setLoading(false);
});
// Cleanup behavioral tracking if needed
// Cleanup: disable behavioral tracking when component unmounts
return () => {
seon.init({
behavioralDataCollection: { targets: "" },
behavioralDataCollection: { targets: "" }, // disables tracking
});
};
}, []);
......
......@@ -14,7 +14,7 @@ import { showToast, ToastVariant } from '@/slice/toastSlice';
import { clearTokens, setTokens } from '@/slice/authSlice';
import PasswordField from '@/components/molecules/PasswordField';
import { ArrowLeft } from '@wandersonalwes/iconsax-react';
// import { useSeon } from '@/app/SeonProvider';
import { useSeon } from '@/app/SeonProvider';
const validationSchema = Yup.object().shape({
emailAddress: Yup.string()
......@@ -39,7 +39,7 @@ export default function LoginPage() {
const router = useRouter();
const dispatch = useAppDispatch();
const [loginUser, { isLoading }] = useLoginMutation();
// const { deviceId, loading } = useSeon();
const { deviceId, loading } = useSeon();
const { handleSubmit, handleBlur, handleChange, errors, dirty, values, touched } = useFormik(
{
initialValues,
......@@ -49,7 +49,7 @@ export default function LoginPage() {
const response = await loginUser({
email: values.emailAddress,
password: values.password,
// device_id:deviceId
device_id: deviceId
}).unwrap();
dispatch(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment