Implemented Facebook login

This commit is contained in:
2023-08-09 10:39:37 +08:00
parent 451e4624b1
commit ed309007e5
@@ -1,8 +1,8 @@
import React, { useEffect } from 'react'; import React, { useEffect } from 'react';
import { useDispatch } from "react-redux";
import { useLocation, useNavigate } from 'react-router-dom'; import { useLocation, useNavigate } from 'react-router-dom';
import usersService from '../../../services/UsersService'; import usersService from '../../../services/UsersService';
import {updateUserDetails} from "../../../store/UserDetails"; import { updateUserDetails } from "../../../store/UserDetails";
import { useDispatch } from "react-redux";
import AuthLayout from "../AuthLayout"; import AuthLayout from "../AuthLayout";
function FbookRedirect() { function FbookRedirect() {
@@ -22,38 +22,50 @@ function FbookRedirect() {
console.log(codeResponse); console.log(codeResponse);
/* /*
POST /token HTTP/1.1 https://developers.facebook.com/docs/facebook-login/guides/advanced/manual-flow/#exchangecode
Host: oauth2.googleapis.com Step 1. Get access token by code
Content-Type: application/x-www-form-urlencoded
code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7& GET https://graph.facebook.com/v17.0/oauth/access_token?
client_id=your_client_id& client_id={app-id}
client_secret=your_client_secret& &redirect_uri={redirect-uri}
redirect_uri=https%3A//oauth2.example.com/code& &client_secret={app-secret}
grant_type=authorization_code &code={code-parameter}
https://developers.facebook.com/docs/facebook-login/guides/access-tokens/get-long-lived
Step 2. Get long-lived token by access token
curl -i -X GET "https://graph.facebook.com/{graph-api-version}/oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={your-access-token}"
*/ */
// process.env.REACT_APP_FACEBOOK_CLIENT_ID
// process.env.REACT_APP_FACEBOOK_CLIENT_SCOPE
var reqData = { var reqData = {
auth_type: "FACEBOOK", auth_type: "FACEBOOK",
code: codeResponse, code: codeResponse,
redirect_uri: process.env.REACT_APP_GOOGLE_REDIRECT_URL, redirect_uri: process.env.REACT_APP_FACEBOOK_REDIRECT_URL,
}; };
// userApi userApi
// .authStart(reqData) .authStart(reqData)
// .then((res) => { .then((res) => {
// if (res.status == 200 && res.data.internal_return >= 0 && res.data.member_id && res.data.uid && res.data.session) { 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("member_id", `${res.data.member_id}`);
// localStorage.setItem("uid", `${res.data.uid}`); localStorage.setItem("uid", `${res.data.uid}`);
// localStorage.setItem("session_token", `${res.data.session}`); localStorage.setItem("session_token", `${res.data.session}`);
// dispatch(updateUserDetails({...res.data})); dispatch(updateUserDetails({...res.data}));
// navigate('/', {replace: true}) navigate('/', {replace: true})
// return return
// } }
// navigate('/login', {state: {error: true}}) navigate('/login', {state: {error: true}})
// }) })
// .catch((error) => { .catch((error) => {
// navigate('/login', {state: {error: true}}) navigate('/login', {state: {error: true}})
// console.log(error); console.log(error);
// }); });
},[]) },[])
return ( return (
<AuthLayout> <AuthLayout>