Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ef545c9714 | |||
| 029a7327a8 | |||
| 5a5d933b24 | |||
| 9f19c930b7 |
@@ -15,46 +15,44 @@ function Redirect() {
|
|||||||
const codeResponse = queryParams.get("code");
|
const codeResponse = queryParams.get("code");
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if(!codeResponse){
|
if(!codeResponse){
|
||||||
navigate('/login', {replace: true})
|
navigate('/login', {state: {error: true}})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
console.log(codeResponse);
|
||||||
|
/*
|
||||||
|
POST /token HTTP/1.1
|
||||||
|
Host: oauth2.googleapis.com
|
||||||
|
Content-Type: application/x-www-form-urlencoded
|
||||||
|
|
||||||
|
code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7&
|
||||||
|
client_id=your_client_id&
|
||||||
|
client_secret=your_client_secret&
|
||||||
|
redirect_uri=https%3A//oauth2.example.com/code&
|
||||||
|
grant_type=authorization_code
|
||||||
|
*/
|
||||||
|
var reqData = {
|
||||||
|
auth_type: "GOOGLE",
|
||||||
|
code: codeResponse,
|
||||||
|
redirect_uri: process.env.REACT_APP_GOOGLE_REDIRECT_URL,
|
||||||
|
};
|
||||||
|
userApi
|
||||||
|
.authStart(reqData)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.status == 200 && res.data.internal_return >= 0 && res.data.member_id && res.data.uid && res.data.session) {
|
||||||
|
localStorage.setItem("member_id", `${res.data.member_id}`);
|
||||||
|
localStorage.setItem("uid", `${res.data.uid}`);
|
||||||
|
localStorage.setItem("session_token", `${res.data.session}`);
|
||||||
|
dispatch(updateUserDetails({...res.data, loggedIn:true}));
|
||||||
|
navigate('/', {replace: true})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
console.log(codeResponse);
|
navigate('/login', {state: {error: true}})
|
||||||
/*
|
})
|
||||||
POST /token HTTP/1.1
|
.catch((error) => {
|
||||||
Host: oauth2.googleapis.com
|
navigate('/login', {state: {error: true}})
|
||||||
Content-Type: application/x-www-form-urlencoded
|
console.log(error);
|
||||||
|
});
|
||||||
code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7&
|
|
||||||
client_id=your_client_id&
|
|
||||||
client_secret=your_client_secret&
|
|
||||||
redirect_uri=https%3A//oauth2.example.com/code&
|
|
||||||
grant_type=authorization_code
|
|
||||||
*/
|
|
||||||
var reqData = {
|
|
||||||
auth_type: "GOOGLE",
|
|
||||||
code: codeResponse,
|
|
||||||
redirect_uri: process.env.REACT_APP_GOOGLE_REDIRECT_URL,
|
|
||||||
};
|
|
||||||
userApi
|
|
||||||
.authStart(reqData)
|
|
||||||
.then((res) => {
|
|
||||||
if (res.status != 200) {
|
|
||||||
navigate('/login', {replace: true})
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
localStorage.setItem("member_id", `${res.data.member_id}`);
|
|
||||||
localStorage.setItem("uid", `${res.data.uid}`);
|
|
||||||
localStorage.setItem("session_token", `${res.data.session}`);
|
|
||||||
dispatch(updateUserDetails({...res.data, loggedIn:true}));
|
|
||||||
navigate('/', {replace: true})
|
|
||||||
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
navigate('/login', {replace: true})
|
|
||||||
console.log(error);
|
|
||||||
});
|
|
||||||
},[])
|
},[])
|
||||||
return (
|
return (
|
||||||
<AuthLayout>
|
<AuthLayout>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React, { useEffect, useLayoutEffect, useState } from "react";
|
import React, { useEffect, useLayoutEffect, useState } from "react";
|
||||||
import { Link, useNavigate } from "react-router-dom";
|
import { Link, useNavigate, useLocation } from "react-router-dom";
|
||||||
import linkedInLogo from "../../../assets/images/Linkedin.png";
|
import linkedInLogo from "../../../assets/images/Linkedin.png";
|
||||||
import appleLogo from "../../../assets/images/apple-black.svg";
|
import appleLogo from "../../../assets/images/apple-black.svg";
|
||||||
import facebookLogo from "../../../assets/images/facebook-4.svg";
|
import facebookLogo from "../../../assets/images/facebook-4.svg";
|
||||||
@@ -16,6 +16,7 @@ import { updateUserDetails } from "../../../store/UserDetails";
|
|||||||
|
|
||||||
export default function Login() {
|
export default function Login() {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
|
const {state} = useLocation()
|
||||||
|
|
||||||
let [loginType, setLoginType] = useState('');
|
let [loginType, setLoginType] = useState('');
|
||||||
|
|
||||||
@@ -105,7 +106,7 @@ export default function Login() {
|
|||||||
userApi
|
userApi
|
||||||
.logInUser(postData)
|
.logInUser(postData)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.status != 200 || res.data.internal_return < 0) {
|
if (res.status != 200 || res.data.internal_return < 0 || !res.data.member_id || !res.data.uid || !res.data.session) {
|
||||||
// setMsgError("Wrong, email/password");
|
// setMsgError("Wrong, email/password");
|
||||||
setLoginError(true);
|
setLoginError(true);
|
||||||
setLoginLoading(false);
|
setLoginLoading(false);
|
||||||
@@ -175,6 +176,14 @@ export default function Login() {
|
|||||||
}
|
}
|
||||||
let loginValue = readCookie('loginType')
|
let loginValue = readCookie('loginType')
|
||||||
setLoginType(loginValue)
|
setLoginType(loginValue)
|
||||||
|
|
||||||
|
if(state?.error){ //check if the login path has an error state indicating any social handle login with error
|
||||||
|
setMsgError("Unexpected Error, Please try again soon.");
|
||||||
|
setTimeout(()=>{
|
||||||
|
setMsgError("");
|
||||||
|
navigate('/login', {replace: true})
|
||||||
|
},4000)
|
||||||
|
}
|
||||||
},[])
|
},[])
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ import ReferralTable from "../MyWallet/WalletComponent/ReferralTable";
|
|||||||
const validationSchema = Yup.object().shape({
|
const validationSchema = Yup.object().shape({
|
||||||
ref_email: Yup.string()
|
ref_email: Yup.string()
|
||||||
.email("Wrong email format")
|
.email("Wrong email format")
|
||||||
|
.matches(
|
||||||
|
// /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/,
|
||||||
|
/^[^0-9][a-zA-Z0-9._%+-]+@[a-zA-Z]+(\.[a-zA-Z]+)+$/,
|
||||||
|
"Invalid email format"
|
||||||
|
)
|
||||||
.min(3, "Minimum 3 characters")
|
.min(3, "Minimum 3 characters")
|
||||||
.max(50, "Maximum 50 characters")
|
.max(50, "Maximum 50 characters")
|
||||||
.required("Email is required"),
|
.required("Email is required"),
|
||||||
|
|||||||
@@ -14,6 +14,11 @@ import * as Yup from "yup";
|
|||||||
const validationSchema = Yup.object().shape({
|
const validationSchema = Yup.object().shape({
|
||||||
email: Yup.string()
|
email: Yup.string()
|
||||||
.email("Wrong email format")
|
.email("Wrong email format")
|
||||||
|
.matches(
|
||||||
|
// /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/,
|
||||||
|
/^[^0-9][a-zA-Z0-9._%+-]+@[a-zA-Z]+(\.[a-zA-Z]+)+$/,
|
||||||
|
"Invalid email format"
|
||||||
|
)
|
||||||
.min(3, "Minimum 3 characters")
|
.min(3, "Minimum 3 characters")
|
||||||
.max(50, "Maximum 50 characters")
|
.max(50, "Maximum 50 characters")
|
||||||
.required("Email is required"),
|
.required("Email is required"),
|
||||||
@@ -96,7 +101,7 @@ export default function PersonalInfoTab({
|
|||||||
// setRequestState({message: 'Profile update successfully', loading: false, status: true})
|
// setRequestState({message: 'Profile update successfully', loading: false, status: true})
|
||||||
toast.success("Update Successful");
|
toast.success("Update Successful");
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
navigate("/", { replace: true });
|
// navigate("/", { replace: true });
|
||||||
window.location.reload(true);
|
window.location.reload(true);
|
||||||
}, 1000);
|
}, 1000);
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user