Newer
Older
import {GoogleLogin} from "@react-oauth/google";
import {GoogleOAuthProvider} from "@react-oauth/google";
import base64 from 'base-64';
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
});
}