import {GoogleLogin} from "@react-oauth/google"; import {GoogleOAuthProvider} from "@react-oauth/google"; import base64 from 'base-64'; import axios from 'axios'; const GoogleLoginButton = () => { const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com' let token = null; let payload = null; return ( <> <GoogleOAuthProvider clientId={clientId}> <GoogleLogin onSuccess={(res) => { /* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다. aaaa.bbbb.cccc [base64]aaaa: 헤더 [base64]bbbb: 페이로드 (실질적인 데이터) [RS256]cccc: 서명 RS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함 */ let datas = res.credential.split('.') const obj = JSON.parse(base64.decode(datas[1])); console.log(obj); commuTest(obj); }} onFailure={(err) => { console.log("Login Failed"); console.log(err); }} /> </GoogleOAuthProvider> </> ); }; async function commuTest(payloadObj) { const response = await axios({ url: 'http://localhost:8080/temp', // 통신할 웹문서 method: 'post', // 통신할 방식 data: payloadObj }); } export default GoogleLoginButton