Skip to content
Snippets Groups Projects
Commit 1be511b5 authored by Hyun Woo Jeong's avatar Hyun Woo Jeong
Browse files

implement simple redirection

parent c159f90f
No related branches found
No related tags found
No related merge requests found
Showing
with 13 additions and 0 deletions
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\GoogleLoginButton.js\",\n _s = $RefreshSig$();\nimport { GoogleLogin } from \"@react-oauth/google\";\nimport { GoogleOAuthProvider } from \"@react-oauth/google\";\nimport { useNavigate } from \"react-router-dom\";\nimport base64 from 'base-64';\nimport axios from 'axios';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com';\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(GoogleOAuthProvider, {\n clientId: clientId,\n children: /*#__PURE__*/_jsxDEV(GoogleLogin, {\n onSuccess: res => {\n /* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n aaaa.bbbb.cccc\n \n [base64]aaaa: 헤더\n [base64]bbbb: 페이로드 (실질적인 데이터)\n [RS256]cccc: 서명\n \n RS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n */\n let datas = res.credential.split('.');\n const obj = JSON.parse(b64DecodeUnicode(datas[1]));\n commuTest(obj);\n },\n onFailure: err => {\n console.log(\"Login Failed\");\n console.log(err);\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_c = GoogleLoginButton;\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\nasync function commuTest(payloadObj) {\n _s();\n const navigate = useNavigate();\n const response = await axios({\n url: 'http://localhost:8080/login',\n // 통신할 웹문서\n method: 'post',\n // 통신할 방식\n data: payloadObj\n });\n if (response.status === 200) {\n navigate('/main');\n }\n console.log(response);\n}\n_s(commuTest, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\nexport default GoogleLoginButton;\nvar _c;\n$RefreshReg$(_c, \"GoogleLoginButton\");","map":{"version":3,"names":["GoogleLogin","GoogleOAuthProvider","useNavigate","base64","axios","jsxDEV","_jsxDEV","Fragment","_Fragment","GoogleLoginButton","clientId","children","onSuccess","res","datas","credential","split","obj","JSON","parse","b64DecodeUnicode","commuTest","onFailure","err","console","log","fileName","_jsxFileName","lineNumber","columnNumber","_c","str","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","payloadObj","_s","navigate","response","url","method","data","status","$RefreshReg$"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/GoogleLoginButton.js"],"sourcesContent":["import {GoogleLogin} from \"@react-oauth/google\";\nimport {GoogleOAuthProvider} from \"@react-oauth/google\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport base64 from 'base-64';\nimport axios from 'axios';\n\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com'\n\n return (\n <>\n <GoogleOAuthProvider clientId={clientId}>\n <GoogleLogin\n onSuccess={(res) => {\n\t\t\t\t\t\t/* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n\t\t\t\t\t\taaaa.bbbb.cccc\n\t\t\t\t\t\t\n\t\t\t\t\t\t[base64]aaaa: 헤더\n\t\t\t\t\t\t[base64]bbbb: 페이로드 (실질적인 데이터)\n\t\t\t\t\t\t[RS256]cccc: 서명\n\t\t\t\t\t\t\n\t\t\t\t\t\tRS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tlet datas = res.credential.split('.')\n\t\t\t\t\t\tconst obj = JSON.parse(b64DecodeUnicode(datas[1]));\n\t\t\t\t\t\tcommuTest(obj);\n }}\n onFailure={(err) => {\n\t\t\t\t\t\tconsole.log(\"Login Failed\");\n console.log(err);\n }}\n />\n </GoogleOAuthProvider>\n </>\n );\n};\n\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str)\n\t\t.split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\n\nasync function commuTest(payloadObj) {\n\tconst navigate = useNavigate();\n const response = await axios({\n\t\turl: 'http://localhost:8080/login', // 통신할 웹문서\n\t\tmethod: 'post', // 통신할 방식\n\t\tdata: payloadObj\n\t});\n\tif (response.status === 200) {\n\t\tnavigate('/main');\n\t}\n\tconsole.log(response)\n}\n\nexport default GoogleLoginButton"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,mBAAmB,QAAO,qBAAqB;AACvD,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,OAAOC,MAAM,MAAM,SAAS;AAC5B,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAE1B,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAC5B,MAAMC,QAAQ,GAAG,0EAA0E;EAE3F,oBACIJ,OAAA,CAAAE,SAAA;IAAAG,QAAA,eACIL,OAAA,CAACL,mBAAmB;MAACS,QAAQ,EAAEA,QAAS;MAAAC,QAAA,eACpCL,OAAA,CAACN,WAAW;QACRY,SAAS,EAAGC,GAAG,IAAK;UAClC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;UACM,IAAIC,KAAK,GAAGD,GAAG,CAACE,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC;UACrC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACC,gBAAgB,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAClDO,SAAS,CAACJ,GAAG,CAAC;QACA,CAAE;QACFK,SAAS,EAAGC,GAAG,IAAK;UAClCC,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACF,GAAG,CAAC;QACpB;MAAE;QAAAG,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACe;EAAC,gBACxB,CAAC;AAEX,CAAC;AAACC,EAAA,GA7BIrB,iBAAiB;AA+BvB,SAASW,gBAAgBA,CAACW,GAAG,EAAE;EAC3B;EACA,OAAOC,kBAAkB,CAACC,IAAI,CAACF,GAAG,CAAC,CACpCf,KAAK,CAAC,EAAE,CAAC,CAACkB,GAAG,CAAC,UAASC,CAAC,EAAE;IACrB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAGA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC;EAChE,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB;AAEA,eAAelB,SAASA,CAACmB,UAAU,EAAE;EAAAC,EAAA;EACpC,MAAMC,QAAQ,GAAGxC,WAAW,CAAC,CAAC;EAC3B,MAAMyC,QAAQ,GAAG,MAAMvC,KAAK,CAAC;IAC/BwC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEN;EACP,CAAC,CAAC;EACF,IAAIG,QAAQ,CAACI,MAAM,KAAK,GAAG,EAAE;IAC5BL,QAAQ,CAAC,OAAO,CAAC;EAClB;EACAlB,OAAO,CAACC,GAAG,CAACkB,QAAQ,CAAC;AACtB;AAACF,EAAA,CAXcpB,SAAS;EAAA,QACNnB,WAAW;AAAA;AAY7B,eAAeO,iBAAiB;AAAA,IAAAqB,EAAA;AAAAkB,YAAA,CAAAlB,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\GoogleLoginButton.js\",\n _s = $RefreshSig$();\nimport { GoogleLogin } from \"@react-oauth/google\";\nimport { GoogleOAuthProvider } from \"@react-oauth/google\";\nimport { useNavigate, Navigate } from \"react-router-dom\";\nimport base64 from 'base-64';\nimport axios from 'axios';\n\n/*\n\n*/\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst GoogleLoginButton = () => {\n _s();\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com';\n const navigate = useNavigate();\n const goMain = () => {\n navigate(\"/main\");\n };\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(GoogleOAuthProvider, {\n clientId: clientId,\n children: /*#__PURE__*/_jsxDEV(GoogleLogin, {\n onSuccess: res => {\n /* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n aaaa.bbbb.cccc\n \n [base64]aaaa: 헤더\n [base64]bbbb: 페이로드 (실질적인 데이터)\n [RS256]cccc: 서명\n \n RS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n */\n\n let datas = res.credential.split('.');\n const obj = JSON.parse(b64DecodeUnicode(datas[1]));\n console.log(obj);\n let response = commuTest(obj);\n console.log(response.status);\n console.log(response.status === 200);\n if (response) {\n goMain();\n }\n },\n onFailure: err => {\n console.log(\"Login Failed\");\n console.log(err);\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_s(GoogleLoginButton, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\n_c = GoogleLoginButton;\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\nasync function commuTest(payloadObj) {\n const response = await axios({\n url: 'http://localhost:8080/login',\n // 통신할 웹문서\n method: 'post',\n // 통신할 방식\n data: payloadObj\n });\n console.log(response);\n if (response.status === 200) {\n return true;\n } else {\n return false;\n }\n}\nexport default GoogleLoginButton;\nvar _c;\n$RefreshReg$(_c, \"GoogleLoginButton\");","map":{"version":3,"names":["GoogleLogin","GoogleOAuthProvider","useNavigate","Navigate","base64","axios","jsxDEV","_jsxDEV","Fragment","_Fragment","GoogleLoginButton","_s","clientId","navigate","goMain","children","onSuccess","res","datas","credential","split","obj","JSON","parse","b64DecodeUnicode","console","log","response","commuTest","status","onFailure","err","fileName","_jsxFileName","lineNumber","columnNumber","_c","str","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","payloadObj","url","method","data","$RefreshReg$"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/GoogleLoginButton.js"],"sourcesContent":["import {GoogleLogin} from \"@react-oauth/google\";\nimport {GoogleOAuthProvider} from \"@react-oauth/google\";\nimport { useNavigate, Navigate } from \"react-router-dom\";\n\nimport base64 from 'base-64';\nimport axios from 'axios';\n\n/*\n\n*/\n\n\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com'\n\tconst navigate = useNavigate();\n\tconst goMain = () => {\n\t\tnavigate(\"/main\");\n\t}\n return (\n <>\n <GoogleOAuthProvider clientId={clientId}>\n <GoogleLogin\n onSuccess={(res) => {\n\t\t\t\t\t\t/* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n\t\t\t\t\t\taaaa.bbbb.cccc\n\t\t\t\t\t\t\n\t\t\t\t\t\t[base64]aaaa: 헤더\n\t\t\t\t\t\t[base64]bbbb: 페이로드 (실질적인 데이터)\n\t\t\t\t\t\t[RS256]cccc: 서명\n\t\t\t\t\t\t\n\t\t\t\t\t\tRS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n\t\t\t\t\t\t*/\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet datas = res.credential.split('.')\n\t\t\t\t\t\tconst obj = JSON.parse(b64DecodeUnicode(datas[1]));\n\t\t\t\t\t\tconsole.log(obj);\n\t\t\t\t\t\tlet response = commuTest(obj);\n\t\t\t\t\t\tconsole.log(response.status);\n\t\t\t\t\t\tconsole.log(response.status === 200);\n\t\t\t\t\t\tif (response) {\n\t\t\t\t\t\t\tgoMain();\n\t\t\t\t\t\t}\n }}\n onFailure={(err) => {\n\t\t\t\t\t\tconsole.log(\"Login Failed\");\n console.log(err);\n }}\n />\n </GoogleOAuthProvider>\n </>\n );\n};\n\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str)\n\t\t.split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\n\nasync function commuTest(payloadObj) {\n\n const response = await axios({\n\t\turl: 'http://localhost:8080/login', // 통신할 웹문서\n\t\tmethod: 'post', // 통신할 방식\n\t\tdata: payloadObj\n\t});\n\t\n\tconsole.log(response)\n\t\n\tif (response.status === 200) {\n\t\treturn true;\n\t}\n\telse {\n\t\treturn false;\n\t}\n\t\n}\n\nexport default GoogleLoginButton"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,mBAAmB,QAAO,qBAAqB;AACvD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,kBAAkB;AAExD,OAAOC,MAAM,MAAM,SAAS;AAC5B,OAAOC,KAAK,MAAM,OAAO;;AAEzB;AACA;AACA;AAFA,SAAAC,MAAA,IAAAC,OAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAKA,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAAAC,EAAA;EAC5B,MAAMC,QAAQ,GAAG,0EAA0E;EAC9F,MAAMC,QAAQ,GAAGX,WAAW,CAAC,CAAC;EAC9B,MAAMY,MAAM,GAAGA,CAAA,KAAM;IACpBD,QAAQ,CAAC,OAAO,CAAC;EAClB,CAAC;EACE,oBACIN,OAAA,CAAAE,SAAA;IAAAM,QAAA,eACIR,OAAA,CAACN,mBAAmB;MAACW,QAAQ,EAAEA,QAAS;MAAAG,QAAA,eACpCR,OAAA,CAACP,WAAW;QACRgB,SAAS,EAAGC,GAAG,IAAK;UAClC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;UAEM,IAAIC,KAAK,GAAGD,GAAG,CAACE,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC;UACrC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACC,gBAAgB,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAClDO,OAAO,CAACC,GAAG,CAACL,GAAG,CAAC;UAChB,IAAIM,QAAQ,GAAGC,SAAS,CAACP,GAAG,CAAC;UAC7BI,OAAO,CAACC,GAAG,CAACC,QAAQ,CAACE,MAAM,CAAC;UAC5BJ,OAAO,CAACC,GAAG,CAACC,QAAQ,CAACE,MAAM,KAAK,GAAG,CAAC;UACpC,IAAIF,QAAQ,EAAE;YACbb,MAAM,CAAC,CAAC;UACT;QACc,CAAE;QACFgB,SAAS,EAAGC,GAAG,IAAK;UAClCN,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACK,GAAG,CAAC;QACpB;MAAE;QAAAC,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACe;EAAC,gBACxB,CAAC;AAEX,CAAC;AAACxB,EAAA,CAvCID,iBAAiB;EAAA,QAELR,WAAW;AAAA;AAAAkC,EAAA,GAFvB1B,iBAAiB;AAyCvB,SAASc,gBAAgBA,CAACa,GAAG,EAAE;EAC3B;EACA,OAAOC,kBAAkB,CAACC,IAAI,CAACF,GAAG,CAAC,CACpCjB,KAAK,CAAC,EAAE,CAAC,CAACoB,GAAG,CAAC,UAASC,CAAC,EAAE;IACrB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAGA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC;EAChE,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB;AAEA,eAAejB,SAASA,CAACkB,UAAU,EAAE;EAEjC,MAAMnB,QAAQ,GAAG,MAAMtB,KAAK,CAAC;IAC/B0C,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEH;EACP,CAAC,CAAC;EAEFrB,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;EAErB,IAAIA,QAAQ,CAACE,MAAM,KAAK,GAAG,EAAE;IAC5B,OAAO,IAAI;EACZ,CAAC,MACI;IACJ,OAAO,KAAK;EACb;AAED;AAEA,eAAenB,iBAAiB;AAAA,IAAA0B,EAAA;AAAAc,YAAA,CAAAd,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\GoogleLoginButton.js\";\nimport { GoogleLogin } from \"@react-oauth/google\";\nimport { GoogleOAuthProvider } from \"@react-oauth/google\";\nimport { useNavigate, Navigate } from \"react-router-dom\";\nimport base64 from 'base-64';\nimport axios from 'axios';\n\n/*\n\tconst navigate = useNavigate();\n\tconst goMain = () => {\n\t\tnavigate(\"/main\");\n\t}\n*/\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com';\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(GoogleOAuthProvider, {\n clientId: clientId,\n children: /*#__PURE__*/_jsxDEV(GoogleLogin, {\n onSuccess: res => {\n /* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n aaaa.bbbb.cccc\n \n [base64]aaaa: 헤더\n [base64]bbbb: 페이로드 (실질적인 데이터)\n [RS256]cccc: 서명\n \n RS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n */\n\n let datas = res.credential.split('.');\n const obj = JSON.parse(b64DecodeUnicode(datas[1]));\n console.log(obj);\n let response = commuTest(obj);\n if (response.status === 200) {\n return /*#__PURE__*/_jsxDEV(Navigate, {\n to: \"/main\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 15\n }, this);\n }\n },\n onFailure: err => {\n console.log(\"Login Failed\");\n console.log(err);\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_c = GoogleLoginButton;\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\nasync function commuTest(payloadObj) {\n const response = await axios({\n url: 'http://localhost:8080/login',\n // 통신할 웹문서\n method: 'post',\n // 통신할 방식\n data: payloadObj\n });\n console.log(response);\n return response;\n}\nexport default GoogleLoginButton;\nvar _c;\n$RefreshReg$(_c, \"GoogleLoginButton\");","map":{"version":3,"names":["GoogleLogin","GoogleOAuthProvider","useNavigate","Navigate","base64","axios","jsxDEV","_jsxDEV","Fragment","_Fragment","GoogleLoginButton","clientId","children","onSuccess","res","datas","credential","split","obj","JSON","parse","b64DecodeUnicode","console","log","response","commuTest","status","to","fileName","_jsxFileName","lineNumber","columnNumber","onFailure","err","_c","str","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","payloadObj","url","method","data","$RefreshReg$"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/GoogleLoginButton.js"],"sourcesContent":["import {GoogleLogin} from \"@react-oauth/google\";\nimport {GoogleOAuthProvider} from \"@react-oauth/google\";\nimport { useNavigate, Navigate } from \"react-router-dom\";\n\nimport base64 from 'base-64';\nimport axios from 'axios';\n\n/*\n\tconst navigate = useNavigate();\n\tconst goMain = () => {\n\t\tnavigate(\"/main\");\n\t}\n*/\n\n\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com'\n\n return (\n <>\n <GoogleOAuthProvider clientId={clientId}>\n <GoogleLogin\n onSuccess={(res) => {\n\t\t\t\t\t\t/* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n\t\t\t\t\t\taaaa.bbbb.cccc\n\t\t\t\t\t\t\n\t\t\t\t\t\t[base64]aaaa: 헤더\n\t\t\t\t\t\t[base64]bbbb: 페이로드 (실질적인 데이터)\n\t\t\t\t\t\t[RS256]cccc: 서명\n\t\t\t\t\t\t\n\t\t\t\t\t\tRS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n\t\t\t\t\t\t*/\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet datas = res.credential.split('.')\n\t\t\t\t\t\tconst obj = JSON.parse(b64DecodeUnicode(datas[1]));\n\t\t\t\t\t\tconsole.log(obj);\n\t\t\t\t\t\tlet response = commuTest(obj);\n\t\t\t\t\t\tif (response.status === 200) {\n\t\t\t\t\t\t\treturn <Navigate to=\"/main\"></Navigate>;\n\t\t\t\t\t\t}\n }}\n onFailure={(err) => {\n\t\t\t\t\t\tconsole.log(\"Login Failed\");\n console.log(err);\n }}\n />\n </GoogleOAuthProvider>\n </>\n );\n};\n\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str)\n\t\t.split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\n\nasync function commuTest(payloadObj) {\n\n const response = await axios({\n\t\turl: 'http://localhost:8080/login', // 통신할 웹문서\n\t\tmethod: 'post', // 통신할 방식\n\t\tdata: payloadObj\n\t});\n\tconsole.log(response)\n\treturn response;\n\t\n}\n\nexport default GoogleLoginButton"],"mappings":";AAAA,SAAQA,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,mBAAmB,QAAO,qBAAqB;AACvD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,kBAAkB;AAExD,OAAOC,MAAM,MAAM,SAAS;AAC5B,OAAOC,KAAK,MAAM,OAAO;;AAEzB;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,MAAA,IAAAC,OAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAQA,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAC5B,MAAMC,QAAQ,GAAG,0EAA0E;EAE3F,oBACIJ,OAAA,CAAAE,SAAA;IAAAG,QAAA,eACIL,OAAA,CAACN,mBAAmB;MAACU,QAAQ,EAAEA,QAAS;MAAAC,QAAA,eACpCL,OAAA,CAACP,WAAW;QACRa,SAAS,EAAGC,GAAG,IAAK;UAClC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;UAEM,IAAIC,KAAK,GAAGD,GAAG,CAACE,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC;UACrC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACC,gBAAgB,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAClDO,OAAO,CAACC,GAAG,CAACL,GAAG,CAAC;UAChB,IAAIM,QAAQ,GAAGC,SAAS,CAACP,GAAG,CAAC;UAC7B,IAAIM,QAAQ,CAACE,MAAM,KAAK,GAAG,EAAE;YAC5B,oBAAOnB,OAAA,CAACJ,QAAQ;cAACwB,EAAE,EAAC;YAAO;cAAAC,QAAA,EAAAC,YAAA;cAAAC,UAAA;cAAAC,YAAA;YAAA,OAAW,CAAC;UACxC;QACc,CAAE;QACFC,SAAS,EAAGC,GAAG,IAAK;UAClCX,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACU,GAAG,CAAC;QACpB;MAAE;QAAAL,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACe;EAAC,gBACxB,CAAC;AAEX,CAAC;AAACG,EAAA,GAlCIxB,iBAAiB;AAoCvB,SAASW,gBAAgBA,CAACc,GAAG,EAAE;EAC3B;EACA,OAAOC,kBAAkB,CAACC,IAAI,CAACF,GAAG,CAAC,CACpClB,KAAK,CAAC,EAAE,CAAC,CAACqB,GAAG,CAAC,UAASC,CAAC,EAAE;IACrB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAGA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC;EAChE,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB;AAEA,eAAelB,SAASA,CAACmB,UAAU,EAAE;EAEjC,MAAMpB,QAAQ,GAAG,MAAMnB,KAAK,CAAC;IAC/BwC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEH;EACP,CAAC,CAAC;EACFtB,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;EACrB,OAAOA,QAAQ;AAEhB;AAEA,eAAed,iBAAiB;AAAA,IAAAwB,EAAA;AAAAc,YAAA,CAAAd,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\Main.js\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Main() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"App\",\n children: \"Success login!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 2,\n columnNumber: 10\n }, this);\n}\n_c = Main;\nexport default Main;\nvar _c;\n$RefreshReg$(_c, \"Main\");","map":{"version":3,"names":["Main","_jsxDEV","className","children","fileName","_jsxFileName","lineNumber","columnNumber","_c","$RefreshReg$"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/Main.js"],"sourcesContent":["function Main() {\n return <div className=\"App\">Success login!</div>;\n}\n\nexport default Main;\n"],"mappings":";;AAAA,SAASA,IAAIA,CAAA,EAAG;EACd,oBAAOC,OAAA;IAAKC,SAAS,EAAC,KAAK;IAAAC,QAAA,EAAC;EAAc;IAAAC,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAAK,CAAC;AAClD;AAACC,EAAA,GAFQR,IAAI;AAIb,eAAeA,IAAI;AAAC,IAAAQ,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\index.js\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { BrowserRouter, Routes, Route } from \"react-router-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport Main from \"./Main\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"));\nroot.render( /*#__PURE__*/_jsxDEV(React.StrictMode, {\n children: /*#__PURE__*/_jsxDEV(BrowserRouter, {\n children: /*#__PURE__*/_jsxDEV(Routes, {\n children: [/*#__PURE__*/_jsxDEV(Route, {\n path: \"/\",\n element: /*#__PURE__*/_jsxDEV(App, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 34\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/temp\",\n element: /*#__PURE__*/_jsxDEV(Main, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 32\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 3\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 5\n }, this)\n}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 3\n}, this));","map":{"version":3,"names":["React","ReactDOM","BrowserRouter","Routes","Route","App","Main","jsxDEV","_jsxDEV","root","createRoot","document","getElementById","render","StrictMode","children","path","element","fileName","_jsxFileName","lineNumber","columnNumber"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/index.js"],"sourcesContent":["import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { BrowserRouter, Routes, Route } from \"react-router-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport Main from \"./Main\";\n\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"));\nroot.render(\n <React.StrictMode>\n <BrowserRouter>\n <Routes>\n <Route path=\"/\" element={<App />} />\n\t\t<Route path=\"/temp\" element={<Main />} />\n </Routes>\n </BrowserRouter>\n </React.StrictMode>\n);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,MAAM,kBAAkB;AACvC,SAASC,aAAa,EAAEC,MAAM,EAAEC,KAAK,QAAQ,kBAAkB;AAC/D,OAAO,aAAa;AACpB,OAAOC,GAAG,MAAM,OAAO;AACvB,OAAOC,IAAI,MAAM,QAAQ;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE1B,MAAMC,IAAI,GAAGR,QAAQ,CAACS,UAAU,CAACC,QAAQ,CAACC,cAAc,CAAC,MAAM,CAAC,CAAC;AACjEH,IAAI,CAACI,MAAM,eACTL,OAAA,CAACR,KAAK,CAACc,UAAU;EAAAC,QAAA,eACfP,OAAA,CAACN,aAAa;IAAAa,QAAA,eACZP,OAAA,CAACL,MAAM;MAAAY,QAAA,gBACLP,OAAA,CAACJ,KAAK;QAACY,IAAI,EAAC,GAAG;QAACC,OAAO,eAAET,OAAA,CAACH,GAAG;UAAAa,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAE;MAAE;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAC,eAC1Cb,OAAA,CAACJ,KAAK;QAACY,IAAI,EAAC,OAAO;QAACC,OAAO,eAAET,OAAA,CAACF,IAAI;UAAAY,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAE;MAAE;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAC;IAAA;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAC7B;EAAC;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACI;AAAC;EAAAH,QAAA,EAAAC,YAAA;EAAAC,UAAA;EAAAC,YAAA;AAAA,OACA,CACpB,CAAC"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\GoogleLoginButton.js\",\n _s = $RefreshSig$();\nimport { GoogleLogin } from \"@react-oauth/google\";\nimport { GoogleOAuthProvider } from \"@react-oauth/google\";\nimport { useNavigate, Navigate } from \"react-router-dom\";\nimport base64 from 'base-64';\nimport axios from 'axios';\n\n/*\n\n*/\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst GoogleLoginButton = () => {\n _s();\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com';\n const navigate = useNavigate();\n const goMain = () => {\n navigate(\"/main\");\n };\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(GoogleOAuthProvider, {\n clientId: clientId,\n children: /*#__PURE__*/_jsxDEV(GoogleLogin, {\n onSuccess: res => {\n /* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n aaaa.bbbb.cccc\n \n [base64]aaaa: 헤더\n [base64]bbbb: 페이로드 (실질적인 데이터)\n [RS256]cccc: 서명\n \n RS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n */\n\n let datas = res.credential.split('.');\n const obj = JSON.parse(b64DecodeUnicode(datas[1]));\n console.log(obj);\n let response = commuTest(obj);\n console.log(response.status === 200);\n if (response.status === 200) {\n goMain();\n }\n },\n onFailure: err => {\n console.log(\"Login Failed\");\n console.log(err);\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_s(GoogleLoginButton, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\n_c = GoogleLoginButton;\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\nasync function commuTest(payloadObj) {\n const response = await axios({\n url: 'http://localhost:8080/login',\n // 통신할 웹문서\n method: 'post',\n // 통신할 방식\n data: payloadObj\n });\n console.log(response);\n return response;\n}\nexport default GoogleLoginButton;\nvar _c;\n$RefreshReg$(_c, \"GoogleLoginButton\");","map":{"version":3,"names":["GoogleLogin","GoogleOAuthProvider","useNavigate","Navigate","base64","axios","jsxDEV","_jsxDEV","Fragment","_Fragment","GoogleLoginButton","_s","clientId","navigate","goMain","children","onSuccess","res","datas","credential","split","obj","JSON","parse","b64DecodeUnicode","console","log","response","commuTest","status","onFailure","err","fileName","_jsxFileName","lineNumber","columnNumber","_c","str","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","payloadObj","url","method","data","$RefreshReg$"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/GoogleLoginButton.js"],"sourcesContent":["import {GoogleLogin} from \"@react-oauth/google\";\nimport {GoogleOAuthProvider} from \"@react-oauth/google\";\nimport { useNavigate, Navigate } from \"react-router-dom\";\n\nimport base64 from 'base-64';\nimport axios from 'axios';\n\n/*\n\n*/\n\n\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com'\n\tconst navigate = useNavigate();\n\tconst goMain = () => {\n\t\tnavigate(\"/main\");\n\t}\n return (\n <>\n <GoogleOAuthProvider clientId={clientId}>\n <GoogleLogin\n onSuccess={(res) => {\n\t\t\t\t\t\t/* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n\t\t\t\t\t\taaaa.bbbb.cccc\n\t\t\t\t\t\t\n\t\t\t\t\t\t[base64]aaaa: 헤더\n\t\t\t\t\t\t[base64]bbbb: 페이로드 (실질적인 데이터)\n\t\t\t\t\t\t[RS256]cccc: 서명\n\t\t\t\t\t\t\n\t\t\t\t\t\tRS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n\t\t\t\t\t\t*/\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet datas = res.credential.split('.')\n\t\t\t\t\t\tconst obj = JSON.parse(b64DecodeUnicode(datas[1]));\n\t\t\t\t\t\tconsole.log(obj);\n\t\t\t\t\t\tlet response = commuTest(obj);\n\t\t\t\t\t\tconsole.log(response.status === 200);\n\t\t\t\t\t\tif (response.status === 200) {\n\t\t\t\t\t\t\tgoMain();\n\t\t\t\t\t\t}\n }}\n onFailure={(err) => {\n\t\t\t\t\t\tconsole.log(\"Login Failed\");\n console.log(err);\n }}\n />\n </GoogleOAuthProvider>\n </>\n );\n};\n\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str)\n\t\t.split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\n\nasync function commuTest(payloadObj) {\n\n const response = await axios({\n\t\turl: 'http://localhost:8080/login', // 통신할 웹문서\n\t\tmethod: 'post', // 통신할 방식\n\t\tdata: payloadObj\n\t});\n\tconsole.log(response)\n\treturn response;\n\t\n}\n\nexport default GoogleLoginButton"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,mBAAmB,QAAO,qBAAqB;AACvD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,kBAAkB;AAExD,OAAOC,MAAM,MAAM,SAAS;AAC5B,OAAOC,KAAK,MAAM,OAAO;;AAEzB;AACA;AACA;AAFA,SAAAC,MAAA,IAAAC,OAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAKA,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAAAC,EAAA;EAC5B,MAAMC,QAAQ,GAAG,0EAA0E;EAC9F,MAAMC,QAAQ,GAAGX,WAAW,CAAC,CAAC;EAC9B,MAAMY,MAAM,GAAGA,CAAA,KAAM;IACpBD,QAAQ,CAAC,OAAO,CAAC;EAClB,CAAC;EACE,oBACIN,OAAA,CAAAE,SAAA;IAAAM,QAAA,eACIR,OAAA,CAACN,mBAAmB;MAACW,QAAQ,EAAEA,QAAS;MAAAG,QAAA,eACpCR,OAAA,CAACP,WAAW;QACRgB,SAAS,EAAGC,GAAG,IAAK;UAClC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;UAEM,IAAIC,KAAK,GAAGD,GAAG,CAACE,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC;UACrC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACC,gBAAgB,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAClDO,OAAO,CAACC,GAAG,CAACL,GAAG,CAAC;UAChB,IAAIM,QAAQ,GAAGC,SAAS,CAACP,GAAG,CAAC;UAC7BI,OAAO,CAACC,GAAG,CAACC,QAAQ,CAACE,MAAM,KAAK,GAAG,CAAC;UACpC,IAAIF,QAAQ,CAACE,MAAM,KAAK,GAAG,EAAE;YAC5Bf,MAAM,CAAC,CAAC;UACT;QACc,CAAE;QACFgB,SAAS,EAAGC,GAAG,IAAK;UAClCN,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACK,GAAG,CAAC;QACpB;MAAE;QAAAC,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACe;EAAC,gBACxB,CAAC;AAEX,CAAC;AAACxB,EAAA,CAtCID,iBAAiB;EAAA,QAELR,WAAW;AAAA;AAAAkC,EAAA,GAFvB1B,iBAAiB;AAwCvB,SAASc,gBAAgBA,CAACa,GAAG,EAAE;EAC3B;EACA,OAAOC,kBAAkB,CAACC,IAAI,CAACF,GAAG,CAAC,CACpCjB,KAAK,CAAC,EAAE,CAAC,CAACoB,GAAG,CAAC,UAASC,CAAC,EAAE;IACrB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAGA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC;EAChE,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB;AAEA,eAAejB,SAASA,CAACkB,UAAU,EAAE;EAEjC,MAAMnB,QAAQ,GAAG,MAAMtB,KAAK,CAAC;IAC/B0C,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEH;EACP,CAAC,CAAC;EACFrB,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;EACrB,OAAOA,QAAQ;AAEhB;AAEA,eAAejB,iBAAiB;AAAA,IAAA0B,EAAA;AAAAc,YAAA,CAAAd,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\index.js\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { BrowserRouter, Routes, Route } from \"react-router-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport Main from \"./Main\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"));\nroot.render( /*#__PURE__*/_jsxDEV(React.StrictMode, {\n children: /*#__PURE__*/_jsxDEV(BrowserRouter, {\n children: /*#__PURE__*/_jsxDEV(Routes, {\n children: [/*#__PURE__*/_jsxDEV(Route, {\n path: \"/\",\n element: /*#__PURE__*/_jsxDEV(App, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 34\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/logissuccess\",\n element: /*#__PURE__*/_jsxDEV(Main, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 40\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 3\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 5\n }, this)\n}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 3\n}, this));","map":{"version":3,"names":["React","ReactDOM","BrowserRouter","Routes","Route","App","Main","jsxDEV","_jsxDEV","root","createRoot","document","getElementById","render","StrictMode","children","path","element","fileName","_jsxFileName","lineNumber","columnNumber"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/index.js"],"sourcesContent":["import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { BrowserRouter, Routes, Route } from \"react-router-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport Main from \"./Main\";\n\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"));\nroot.render(\n <React.StrictMode>\n <BrowserRouter>\n <Routes>\n <Route path=\"/\" element={<App />} />\n\t\t<Route path=\"/logissuccess\" element={<Main />} />\n </Routes>\n </BrowserRouter>\n </React.StrictMode>\n);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,MAAM,kBAAkB;AACvC,SAASC,aAAa,EAAEC,MAAM,EAAEC,KAAK,QAAQ,kBAAkB;AAC/D,OAAO,aAAa;AACpB,OAAOC,GAAG,MAAM,OAAO;AACvB,OAAOC,IAAI,MAAM,QAAQ;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE1B,MAAMC,IAAI,GAAGR,QAAQ,CAACS,UAAU,CAACC,QAAQ,CAACC,cAAc,CAAC,MAAM,CAAC,CAAC;AACjEH,IAAI,CAACI,MAAM,eACTL,OAAA,CAACR,KAAK,CAACc,UAAU;EAAAC,QAAA,eACfP,OAAA,CAACN,aAAa;IAAAa,QAAA,eACZP,OAAA,CAACL,MAAM;MAAAY,QAAA,gBACLP,OAAA,CAACJ,KAAK;QAACY,IAAI,EAAC,GAAG;QAACC,OAAO,eAAET,OAAA,CAACH,GAAG;UAAAa,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAE;MAAE;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAC,eAC1Cb,OAAA,CAACJ,KAAK;QAACY,IAAI,EAAC,eAAe;QAACC,OAAO,eAAET,OAAA,CAACF,IAAI;UAAAY,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAE;MAAE;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAC;IAAA;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACrC;EAAC;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACI;AAAC;EAAAH,QAAA,EAAAC,YAAA;EAAAC,UAAA;EAAAC,YAAA;AAAA,OACA,CACpB,CAAC"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\GoogleLoginButton.js\",\n _s = $RefreshSig$();\nimport { GoogleLogin } from \"@react-oauth/google\";\nimport { GoogleOAuthProvider } from \"@react-oauth/google\";\nimport { useNavigate } from \"react-router-dom\";\nimport base64 from 'base-64';\nimport axios from 'axios';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com';\n const goToMain = () => {\n navigate(\"/temp\");\n };\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(GoogleOAuthProvider, {\n clientId: clientId,\n children: /*#__PURE__*/_jsxDEV(GoogleLogin, {\n onSuccess: res => {\n /* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n aaaa.bbbb.cccc\n \n [base64]aaaa: 헤더\n [base64]bbbb: 페이로드 (실질적인 데이터)\n [RS256]cccc: 서명\n \n RS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n */\n let datas = res.credential.split('.');\n const obj = JSON.parse(b64DecodeUnicode(datas[1]));\n commuTest(obj);\n },\n onFailure: err => {\n console.log(\"Login Failed\");\n console.log(err);\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_c = GoogleLoginButton;\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\nasync function commuTest(payloadObj) {\n _s();\n const navigate = useNavigate();\n const response = await axios({\n url: 'http://localhost:8080/login',\n // 통신할 웹문서\n method: 'post',\n // 통신할 방식\n data: payloadObj\n });\n if (response.status === 200) {\n navigate('/main');\n }\n console.log(response);\n}\n_s(commuTest, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\nexport default GoogleLoginButton;\nvar _c;\n$RefreshReg$(_c, \"GoogleLoginButton\");","map":{"version":3,"names":["GoogleLogin","GoogleOAuthProvider","useNavigate","base64","axios","jsxDEV","_jsxDEV","Fragment","_Fragment","GoogleLoginButton","clientId","goToMain","navigate","children","onSuccess","res","datas","credential","split","obj","JSON","parse","b64DecodeUnicode","commuTest","onFailure","err","console","log","fileName","_jsxFileName","lineNumber","columnNumber","_c","str","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","payloadObj","_s","response","url","method","data","status","$RefreshReg$"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/GoogleLoginButton.js"],"sourcesContent":["import {GoogleLogin} from \"@react-oauth/google\";\nimport {GoogleOAuthProvider} from \"@react-oauth/google\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport base64 from 'base-64';\nimport axios from 'axios';\n\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com'\n\t\n\tconst goToMain = () => {\n\t\tnavigate(\"/temp\");\n\t}\n\t\n\n\n\n return (\n <>\n <GoogleOAuthProvider clientId={clientId}>\n <GoogleLogin\n onSuccess={(res) => {\n\t\t\t\t\t\t/* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n\t\t\t\t\t\taaaa.bbbb.cccc\n\t\t\t\t\t\t\n\t\t\t\t\t\t[base64]aaaa: 헤더\n\t\t\t\t\t\t[base64]bbbb: 페이로드 (실질적인 데이터)\n\t\t\t\t\t\t[RS256]cccc: 서명\n\t\t\t\t\t\t\n\t\t\t\t\t\tRS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tlet datas = res.credential.split('.')\n\t\t\t\t\t\tconst obj = JSON.parse(b64DecodeUnicode(datas[1]));\n\t\t\t\t\t\tcommuTest(obj);\n }}\n onFailure={(err) => {\n\t\t\t\t\t\tconsole.log(\"Login Failed\");\n console.log(err);\n }}\n />\n </GoogleOAuthProvider>\n </>\n );\n};\n\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str)\n\t\t.split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\n\nasync function commuTest(payloadObj) {\n\tconst navigate = useNavigate();\n const response = await axios({\n\t\turl: 'http://localhost:8080/login', // 통신할 웹문서\n\t\tmethod: 'post', // 통신할 방식\n\t\tdata: payloadObj\n\t});\n\tif (response.status === 200) {\n\t\tnavigate('/main');\n\t}\n\tconsole.log(response)\n}\n\nexport default GoogleLoginButton"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,mBAAmB,QAAO,qBAAqB;AACvD,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,OAAOC,MAAM,MAAM,SAAS;AAC5B,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAE1B,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAC5B,MAAMC,QAAQ,GAAG,0EAA0E;EAE9F,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACtBC,QAAQ,CAAC,OAAO,CAAC;EAClB,CAAC;EAKE,oBACIN,OAAA,CAAAE,SAAA;IAAAK,QAAA,eACIP,OAAA,CAACL,mBAAmB;MAACS,QAAQ,EAAEA,QAAS;MAAAG,QAAA,eACpCP,OAAA,CAACN,WAAW;QACRc,SAAS,EAAGC,GAAG,IAAK;UAClC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;UACM,IAAIC,KAAK,GAAGD,GAAG,CAACE,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC;UACrC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACC,gBAAgB,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAClDO,SAAS,CAACJ,GAAG,CAAC;QACA,CAAE;QACFK,SAAS,EAAGC,GAAG,IAAK;UAClCC,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACF,GAAG,CAAC;QACpB;MAAE;QAAAG,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACe;EAAC,gBACxB,CAAC;AAEX,CAAC;AAACC,EAAA,GApCIvB,iBAAiB;AAsCvB,SAASa,gBAAgBA,CAACW,GAAG,EAAE;EAC3B;EACA,OAAOC,kBAAkB,CAACC,IAAI,CAACF,GAAG,CAAC,CACpCf,KAAK,CAAC,EAAE,CAAC,CAACkB,GAAG,CAAC,UAASC,CAAC,EAAE;IACrB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAGA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC;EAChE,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB;AAEA,eAAelB,SAASA,CAACmB,UAAU,EAAE;EAAAC,EAAA;EACpC,MAAM/B,QAAQ,GAAGV,WAAW,CAAC,CAAC;EAC3B,MAAM0C,QAAQ,GAAG,MAAMxC,KAAK,CAAC;IAC/ByC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEL;EACP,CAAC,CAAC;EACF,IAAIE,QAAQ,CAACI,MAAM,KAAK,GAAG,EAAE;IAC5BpC,QAAQ,CAAC,OAAO,CAAC;EAClB;EACAc,OAAO,CAACC,GAAG,CAACiB,QAAQ,CAAC;AACtB;AAACD,EAAA,CAXcpB,SAAS;EAAA,QACNrB,WAAW;AAAA;AAY7B,eAAeO,iBAAiB;AAAA,IAAAuB,EAAA;AAAAiB,YAAA,CAAAjB,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\GoogleLoginButton.js\",\n _s = $RefreshSig$();\nimport { GoogleLogin } from \"@react-oauth/google\";\nimport { GoogleOAuthProvider } from \"@react-oauth/google\";\nimport { useNavigate } from \"react-router-dom\";\nimport base64 from 'base-64';\nimport axios from 'axios';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst GoogleLoginButton = () => {\n _s();\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com';\n const navigate = useNavigate();\n const goToMain = () => {\n navigate(\"/temp\");\n };\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(GoogleOAuthProvider, {\n clientId: clientId,\n children: /*#__PURE__*/_jsxDEV(GoogleLogin, {\n onSuccess: res => {\n /* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n aaaa.bbbb.cccc\n \n [base64]aaaa: 헤더\n [base64]bbbb: 페이로드 (실질적인 데이터)\n [RS256]cccc: 서명\n \n RS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n */\n let datas = res.credential.split('.');\n console.log(b64DecodeUnicode(datas[1]));\n const obj = JSON.parse(base64.decode(datas[1]));\n commuTest(obj);\n },\n onFailure: err => {\n console.log(\"Login Failed\");\n console.log(err);\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_s(GoogleLoginButton, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\n_c = GoogleLoginButton;\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\nasync function commuTest(payloadObj) {\n const response = await axios({\n url: 'http://localhost:8080/login',\n // 통신할 웹문서\n method: 'post',\n // 통신할 방식\n data: payloadObj\n });\n}\nexport default GoogleLoginButton;\nvar _c;\n$RefreshReg$(_c, \"GoogleLoginButton\");","map":{"version":3,"names":["GoogleLogin","GoogleOAuthProvider","useNavigate","base64","axios","jsxDEV","_jsxDEV","Fragment","_Fragment","GoogleLoginButton","_s","clientId","navigate","goToMain","children","onSuccess","res","datas","credential","split","console","log","b64DecodeUnicode","obj","JSON","parse","decode","commuTest","onFailure","err","fileName","_jsxFileName","lineNumber","columnNumber","_c","str","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","payloadObj","response","url","method","data","$RefreshReg$"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/GoogleLoginButton.js"],"sourcesContent":["import {GoogleLogin} from \"@react-oauth/google\";\nimport {GoogleOAuthProvider} from \"@react-oauth/google\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport base64 from 'base-64';\nimport axios from 'axios';\n\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com'\n\tconst navigate = useNavigate();\n\tconst goToMain = () => {\n\t\tnavigate(\"/temp\");\n\t}\n\t\n\n\n\n return (\n <>\n <GoogleOAuthProvider clientId={clientId}>\n <GoogleLogin\n onSuccess={(res) => {\n\t\t\t\t\t\t/* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n\t\t\t\t\t\taaaa.bbbb.cccc\n\t\t\t\t\t\t\n\t\t\t\t\t\t[base64]aaaa: 헤더\n\t\t\t\t\t\t[base64]bbbb: 페이로드 (실질적인 데이터)\n\t\t\t\t\t\t[RS256]cccc: 서명\n\t\t\t\t\t\t\n\t\t\t\t\t\tRS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tlet datas = res.credential.split('.')\n\t\t\t\t\t\tconsole.log(b64DecodeUnicode(datas[1]));\t\n\t\t\t\t\t\tconst obj = JSON.parse(base64.decode(datas[1]));\n\t\t\t\t\t\t\n\t\t\t\t\t\tcommuTest(obj);\n }}\n onFailure={(err) => {\n\t\t\t\t\t\tconsole.log(\"Login Failed\");\n console.log(err);\n }}\n />\n </GoogleOAuthProvider>\n </>\n );\n};\n\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str)\n\t\t.split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\n\nasync function commuTest(payloadObj) {\n const response = await axios({\n\t\turl: 'http://localhost:8080/login', // 통신할 웹문서\n\t\tmethod: 'post', // 통신할 방식\n\t\tdata: payloadObj\n\t});\n}\n\nexport default GoogleLoginButton"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,mBAAmB,QAAO,qBAAqB;AACvD,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,OAAOC,MAAM,MAAM,SAAS;AAC5B,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAE1B,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAAAC,EAAA;EAC5B,MAAMC,QAAQ,GAAG,0EAA0E;EAC9F,MAAMC,QAAQ,GAAGV,WAAW,CAAC,CAAC;EAC9B,MAAMW,QAAQ,GAAGA,CAAA,KAAM;IACtBD,QAAQ,CAAC,OAAO,CAAC;EAClB,CAAC;EAKE,oBACIN,OAAA,CAAAE,SAAA;IAAAM,QAAA,eACIR,OAAA,CAACL,mBAAmB;MAACU,QAAQ,EAAEA,QAAS;MAAAG,QAAA,eACpCR,OAAA,CAACN,WAAW;QACRe,SAAS,EAAGC,GAAG,IAAK;UAClC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;UACM,IAAIC,KAAK,GAAGD,GAAG,CAACE,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC;UACrCC,OAAO,CAACC,GAAG,CAACC,gBAAgB,CAACL,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UACvC,MAAMM,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACtB,MAAM,CAACuB,MAAM,CAACT,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAE/CU,SAAS,CAACJ,GAAG,CAAC;QACA,CAAE;QACFK,SAAS,EAAGC,GAAG,IAAK;UAClCT,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACQ,GAAG,CAAC;QACpB;MAAE;QAAAC,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACe;EAAC,gBACxB,CAAC;AAEX,CAAC;AAACvB,EAAA,CAtCID,iBAAiB;EAAA,QAELP,WAAW;AAAA;AAAAgC,EAAA,GAFvBzB,iBAAiB;AAwCvB,SAASa,gBAAgBA,CAACa,GAAG,EAAE;EAC3B;EACA,OAAOC,kBAAkB,CAACC,IAAI,CAACF,GAAG,CAAC,CACpChB,KAAK,CAAC,EAAE,CAAC,CAACmB,GAAG,CAAC,UAASC,CAAC,EAAE;IACrB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAGA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC;EAChE,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB;AAEA,eAAehB,SAASA,CAACiB,UAAU,EAAE;EACjC,MAAMC,QAAQ,GAAG,MAAMzC,KAAK,CAAC;IAC/B0C,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEJ;EACP,CAAC,CAAC;AACH;AAEA,eAAenC,iBAAiB;AAAA,IAAAyB,EAAA;AAAAe,YAAA,CAAAf,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\index.js\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { BrowserRouter, Routes, Route, useNavigate } from \"react-router-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport Main from \"./Main\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"));\nroot.render( /*#__PURE__*/_jsxDEV(React.StrictMode, {\n children: /*#__PURE__*/_jsxDEV(BrowserRouter, {\n children: /*#__PURE__*/_jsxDEV(Routes, {\n children: [/*#__PURE__*/_jsxDEV(Route, {\n path: \"/\",\n element: /*#__PURE__*/_jsxDEV(App, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 34\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/temp\",\n element: /*#__PURE__*/_jsxDEV(Main, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 32\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 3\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 5\n }, this)\n}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 3\n}, this));","map":{"version":3,"names":["React","ReactDOM","BrowserRouter","Routes","Route","useNavigate","App","Main","jsxDEV","_jsxDEV","root","createRoot","document","getElementById","render","StrictMode","children","path","element","fileName","_jsxFileName","lineNumber","columnNumber"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/index.js"],"sourcesContent":["import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { BrowserRouter, Routes, Route, useNavigate } from \"react-router-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport Main from \"./Main\";\n\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"));\nroot.render(\n <React.StrictMode>\n <BrowserRouter>\n <Routes>\n <Route path=\"/\" element={<App />} />\n\t\t<Route path=\"/temp\" element={<Main />} />\n </Routes>\n </BrowserRouter>\n </React.StrictMode>\n);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,MAAM,kBAAkB;AACvC,SAASC,aAAa,EAAEC,MAAM,EAAEC,KAAK,EAAEC,WAAW,QAAQ,kBAAkB;AAC5E,OAAO,aAAa;AACpB,OAAOC,GAAG,MAAM,OAAO;AACvB,OAAOC,IAAI,MAAM,QAAQ;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE1B,MAAMC,IAAI,GAAGT,QAAQ,CAACU,UAAU,CAACC,QAAQ,CAACC,cAAc,CAAC,MAAM,CAAC,CAAC;AACjEH,IAAI,CAACI,MAAM,eACTL,OAAA,CAACT,KAAK,CAACe,UAAU;EAAAC,QAAA,eACfP,OAAA,CAACP,aAAa;IAAAc,QAAA,eACZP,OAAA,CAACN,MAAM;MAAAa,QAAA,gBACLP,OAAA,CAACL,KAAK;QAACa,IAAI,EAAC,GAAG;QAACC,OAAO,eAAET,OAAA,CAACH,GAAG;UAAAa,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAE;MAAE;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAC,eAC1Cb,OAAA,CAACL,KAAK;QAACa,IAAI,EAAC,OAAO;QAACC,OAAO,eAAET,OAAA,CAACF,IAAI;UAAAY,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAE;MAAE;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAC;IAAA;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAC7B;EAAC;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACI;AAAC;EAAAH,QAAA,EAAAC,YAAA;EAAAC,UAAA;EAAAC,YAAA;AAAA,OACA,CACpB,CAAC"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\GoogleLoginButton.js\",\n _s = $RefreshSig$();\nimport { GoogleLogin } from \"@react-oauth/google\";\nimport { GoogleOAuthProvider } from \"@react-oauth/google\";\nimport { useNavigate, Navigate } from \"react-router-dom\";\nimport base64 from 'base-64';\nimport axios from 'axios';\n\n/*\n\n*/\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst GoogleLoginButton = () => {\n _s();\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com';\n const navigate = useNavigate();\n const goMain = params => {\n navigate(\"/main\", params);\n };\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(GoogleOAuthProvider, {\n clientId: clientId,\n children: /*#__PURE__*/_jsxDEV(GoogleLogin, {\n onSuccess: res => {\n /* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n aaaa.bbbb.cccc\n \n [base64]aaaa: 헤더\n [base64]bbbb: 페이로드 (실질적인 데이터)\n [RS256]cccc: 서명\n \n RS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n */\n\n let datas = res.credential.split('.');\n const obj = JSON.parse(b64DecodeUnicode(datas[1]));\n console.log(obj);\n let response = commuTest(obj);\n console.log(response);\n if (response) {\n goMain(response);\n }\n },\n onFailure: err => {\n console.log(\"Login Failed\");\n console.log(err);\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_s(GoogleLoginButton, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\n_c = GoogleLoginButton;\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\nasync function commuTest(payloadObj) {\n const response = await axios({\n url: 'http://localhost:8080/login',\n // 통신할 웹문서\n method: 'post',\n // 통신할 방식\n data: payloadObj\n });\n console.log(response);\n if (response.status === 200) {\n return response.data;\n } else {\n return null;\n }\n}\nexport default GoogleLoginButton;\nvar _c;\n$RefreshReg$(_c, \"GoogleLoginButton\");","map":{"version":3,"names":["GoogleLogin","GoogleOAuthProvider","useNavigate","Navigate","base64","axios","jsxDEV","_jsxDEV","Fragment","_Fragment","GoogleLoginButton","_s","clientId","navigate","goMain","params","children","onSuccess","res","datas","credential","split","obj","JSON","parse","b64DecodeUnicode","console","log","response","commuTest","onFailure","err","fileName","_jsxFileName","lineNumber","columnNumber","_c","str","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","payloadObj","url","method","data","status","$RefreshReg$"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/GoogleLoginButton.js"],"sourcesContent":["import {GoogleLogin} from \"@react-oauth/google\";\nimport {GoogleOAuthProvider} from \"@react-oauth/google\";\nimport { useNavigate, Navigate } from \"react-router-dom\";\n\nimport base64 from 'base-64';\nimport axios from 'axios';\n\n/*\n\n*/\n\n\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com'\n\tconst navigate = useNavigate();\n\tconst goMain = (params) => {\n\t\tnavigate(\"/main\", params);\n\t}\n return (\n <>\n <GoogleOAuthProvider clientId={clientId}>\n <GoogleLogin\n onSuccess={(res) => {\n\t\t\t\t\t\t/* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n\t\t\t\t\t\taaaa.bbbb.cccc\n\t\t\t\t\t\t\n\t\t\t\t\t\t[base64]aaaa: 헤더\n\t\t\t\t\t\t[base64]bbbb: 페이로드 (실질적인 데이터)\n\t\t\t\t\t\t[RS256]cccc: 서명\n\t\t\t\t\t\t\n\t\t\t\t\t\tRS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n\t\t\t\t\t\t*/\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet datas = res.credential.split('.')\n\t\t\t\t\t\tconst obj = JSON.parse(b64DecodeUnicode(datas[1]));\n\t\t\t\t\t\tconsole.log(obj);\n\t\t\t\t\t\tlet response = commuTest(obj);\n\t\t\t\t\t\tconsole.log(response);\n\t\t\t\t\t\tif (response) {\n\t\t\t\t\t\t\tgoMain(response);\n\t\t\t\t\t\t}\n }}\n onFailure={(err) => {\n\t\t\t\t\t\tconsole.log(\"Login Failed\");\n console.log(err);\n }}\n />\n </GoogleOAuthProvider>\n </>\n );\n};\n\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str)\n\t\t.split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\n\nasync function commuTest(payloadObj) {\n\n const response = await axios({\n\t\turl: 'http://localhost:8080/login', // 통신할 웹문서\n\t\tmethod: 'post', // 통신할 방식\n\t\tdata: payloadObj\n\t});\n\t\n\tconsole.log(response)\n\t\n\tif (response.status === 200) {\n\t\treturn response.data;\n\t}\n\telse {\n\t\treturn null;\n\t}\n\t\n}\n\nexport default GoogleLoginButton"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,mBAAmB,QAAO,qBAAqB;AACvD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,kBAAkB;AAExD,OAAOC,MAAM,MAAM,SAAS;AAC5B,OAAOC,KAAK,MAAM,OAAO;;AAEzB;AACA;AACA;AAFA,SAAAC,MAAA,IAAAC,OAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAKA,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAAAC,EAAA;EAC5B,MAAMC,QAAQ,GAAG,0EAA0E;EAC9F,MAAMC,QAAQ,GAAGX,WAAW,CAAC,CAAC;EAC9B,MAAMY,MAAM,GAAIC,MAAM,IAAK;IAC1BF,QAAQ,CAAC,OAAO,EAAEE,MAAM,CAAC;EAC1B,CAAC;EACE,oBACIR,OAAA,CAAAE,SAAA;IAAAO,QAAA,eACIT,OAAA,CAACN,mBAAmB;MAACW,QAAQ,EAAEA,QAAS;MAAAI,QAAA,eACpCT,OAAA,CAACP,WAAW;QACRiB,SAAS,EAAGC,GAAG,IAAK;UAClC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;UAEM,IAAIC,KAAK,GAAGD,GAAG,CAACE,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC;UACrC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACC,gBAAgB,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAClDO,OAAO,CAACC,GAAG,CAACL,GAAG,CAAC;UAChB,IAAIM,QAAQ,GAAGC,SAAS,CAACP,GAAG,CAAC;UAC7BI,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;UACrB,IAAIA,QAAQ,EAAE;YACbd,MAAM,CAACc,QAAQ,CAAC;UACjB;QACc,CAAE;QACFE,SAAS,EAAGC,GAAG,IAAK;UAClCL,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACI,GAAG,CAAC;QACpB;MAAE;QAAAC,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACe;EAAC,gBACxB,CAAC;AAEX,CAAC;AAACxB,EAAA,CAtCID,iBAAiB;EAAA,QAELR,WAAW;AAAA;AAAAkC,EAAA,GAFvB1B,iBAAiB;AAwCvB,SAASe,gBAAgBA,CAACY,GAAG,EAAE;EAC3B;EACA,OAAOC,kBAAkB,CAACC,IAAI,CAACF,GAAG,CAAC,CACpChB,KAAK,CAAC,EAAE,CAAC,CAACmB,GAAG,CAAC,UAASC,CAAC,EAAE;IACrB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAGA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC;EAChE,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB;AAEA,eAAehB,SAASA,CAACiB,UAAU,EAAE;EAEjC,MAAMlB,QAAQ,GAAG,MAAMvB,KAAK,CAAC;IAC/B0C,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEH;EACP,CAAC,CAAC;EAEFpB,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;EAErB,IAAIA,QAAQ,CAACsB,MAAM,KAAK,GAAG,EAAE;IAC5B,OAAOtB,QAAQ,CAACqB,IAAI;EACrB,CAAC,MACI;IACJ,OAAO,IAAI;EACZ;AAED;AAEA,eAAevC,iBAAiB;AAAA,IAAA0B,EAAA;AAAAe,YAAA,CAAAf,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\GoogleLoginButton.js\",\n _s = $RefreshSig$();\nimport { GoogleLogin } from \"@react-oauth/google\";\nimport { GoogleOAuthProvider } from \"@react-oauth/google\";\nimport { useNavigate, Navigate } from \"react-router-dom\";\nimport base64 from 'base-64';\nimport axios from 'axios';\n\n/*\n\n*/\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst GoogleLoginButton = () => {\n _s();\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com';\n const navigate = useNavigate();\n const goMain = params => {\n navigate(\"/main\", params);\n };\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(GoogleOAuthProvider, {\n clientId: clientId,\n children: /*#__PURE__*/_jsxDEV(GoogleLogin, {\n onSuccess: res => {\n /* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n aaaa.bbbb.cccc\n \n [base64]aaaa: 헤더\n [base64]bbbb: 페이로드 (실질적인 데이터)\n [RS256]cccc: 서명\n \n RS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n */\n\n let datas = res.credential.split('.');\n const obj = JSON.parse(b64DecodeUnicode(datas[1]));\n console.log(obj);\n let response = commuTest(obj);\n console.log(response);\n if (response) {\n goMain();\n }\n },\n onFailure: err => {\n console.log(\"Login Failed\");\n console.log(err);\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_s(GoogleLoginButton, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\n_c = GoogleLoginButton;\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\nasync function commuTest(payloadObj) {\n const response = await axios({\n url: 'http://localhost:8080/login',\n // 통신할 웹문서\n method: 'post',\n // 통신할 방식\n data: payloadObj\n });\n console.log(response);\n if (response.status === 200) {\n return true;\n } else {\n return false;\n }\n}\nexport default GoogleLoginButton;\nvar _c;\n$RefreshReg$(_c, \"GoogleLoginButton\");","map":{"version":3,"names":["GoogleLogin","GoogleOAuthProvider","useNavigate","Navigate","base64","axios","jsxDEV","_jsxDEV","Fragment","_Fragment","GoogleLoginButton","_s","clientId","navigate","goMain","params","children","onSuccess","res","datas","credential","split","obj","JSON","parse","b64DecodeUnicode","console","log","response","commuTest","onFailure","err","fileName","_jsxFileName","lineNumber","columnNumber","_c","str","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","payloadObj","url","method","data","status","$RefreshReg$"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/GoogleLoginButton.js"],"sourcesContent":["import {GoogleLogin} from \"@react-oauth/google\";\nimport {GoogleOAuthProvider} from \"@react-oauth/google\";\nimport { useNavigate, Navigate } from \"react-router-dom\";\n\nimport base64 from 'base-64';\nimport axios from 'axios';\n\n/*\n\n*/\n\n\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com'\n\tconst navigate = useNavigate();\n\tconst goMain = (params) => {\n\t\tnavigate(\"/main\", params);\n\t}\n return (\n <>\n <GoogleOAuthProvider clientId={clientId}>\n <GoogleLogin\n onSuccess={(res) => {\n\t\t\t\t\t\t/* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n\t\t\t\t\t\taaaa.bbbb.cccc\n\t\t\t\t\t\t\n\t\t\t\t\t\t[base64]aaaa: 헤더\n\t\t\t\t\t\t[base64]bbbb: 페이로드 (실질적인 데이터)\n\t\t\t\t\t\t[RS256]cccc: 서명\n\t\t\t\t\t\t\n\t\t\t\t\t\tRS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n\t\t\t\t\t\t*/\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet datas = res.credential.split('.')\n\t\t\t\t\t\tconst obj = JSON.parse(b64DecodeUnicode(datas[1]));\n\t\t\t\t\t\tconsole.log(obj);\n\t\t\t\t\t\tlet response = commuTest(obj);\n\t\t\t\t\t\tconsole.log(response);\n\t\t\t\t\t\tif (response) {\n\t\t\t\t\t\t\tgoMain();\n\t\t\t\t\t\t}\n }}\n onFailure={(err) => {\n\t\t\t\t\t\tconsole.log(\"Login Failed\");\n console.log(err);\n }}\n />\n </GoogleOAuthProvider>\n </>\n );\n};\n\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str)\n\t\t.split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\n\nasync function commuTest(payloadObj) {\n\n const response = await axios({\n\t\turl: 'http://localhost:8080/login', // 통신할 웹문서\n\t\tmethod: 'post', // 통신할 방식\n\t\tdata: payloadObj\n\t});\n\t\n\tconsole.log(response)\n\t\n\tif (response.status === 200) {\n\t\treturn true;\n\t}\n\telse {\n\t\treturn false;\n\t}\n\t\n}\n\nexport default GoogleLoginButton"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,mBAAmB,QAAO,qBAAqB;AACvD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,kBAAkB;AAExD,OAAOC,MAAM,MAAM,SAAS;AAC5B,OAAOC,KAAK,MAAM,OAAO;;AAEzB;AACA;AACA;AAFA,SAAAC,MAAA,IAAAC,OAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAKA,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAAAC,EAAA;EAC5B,MAAMC,QAAQ,GAAG,0EAA0E;EAC9F,MAAMC,QAAQ,GAAGX,WAAW,CAAC,CAAC;EAC9B,MAAMY,MAAM,GAAIC,MAAM,IAAK;IAC1BF,QAAQ,CAAC,OAAO,EAAEE,MAAM,CAAC;EAC1B,CAAC;EACE,oBACIR,OAAA,CAAAE,SAAA;IAAAO,QAAA,eACIT,OAAA,CAACN,mBAAmB;MAACW,QAAQ,EAAEA,QAAS;MAAAI,QAAA,eACpCT,OAAA,CAACP,WAAW;QACRiB,SAAS,EAAGC,GAAG,IAAK;UAClC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;UAEM,IAAIC,KAAK,GAAGD,GAAG,CAACE,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC;UACrC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACC,gBAAgB,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAClDO,OAAO,CAACC,GAAG,CAACL,GAAG,CAAC;UAChB,IAAIM,QAAQ,GAAGC,SAAS,CAACP,GAAG,CAAC;UAC7BI,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;UACrB,IAAIA,QAAQ,EAAE;YACbd,MAAM,CAAC,CAAC;UACT;QACc,CAAE;QACFgB,SAAS,EAAGC,GAAG,IAAK;UAClCL,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACI,GAAG,CAAC;QACpB;MAAE;QAAAC,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACe;EAAC,gBACxB,CAAC;AAEX,CAAC;AAACxB,EAAA,CAtCID,iBAAiB;EAAA,QAELR,WAAW;AAAA;AAAAkC,EAAA,GAFvB1B,iBAAiB;AAwCvB,SAASe,gBAAgBA,CAACY,GAAG,EAAE;EAC3B;EACA,OAAOC,kBAAkB,CAACC,IAAI,CAACF,GAAG,CAAC,CACpChB,KAAK,CAAC,EAAE,CAAC,CAACmB,GAAG,CAAC,UAASC,CAAC,EAAE;IACrB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAGA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC;EAChE,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB;AAEA,eAAehB,SAASA,CAACiB,UAAU,EAAE;EAEjC,MAAMlB,QAAQ,GAAG,MAAMvB,KAAK,CAAC;IAC/B0C,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEH;EACP,CAAC,CAAC;EAEFpB,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;EAErB,IAAIA,QAAQ,CAACsB,MAAM,KAAK,GAAG,EAAE;IAC5B,OAAO,IAAI;EACZ,CAAC,MACI;IACJ,OAAO,KAAK;EACb;AAED;AAEA,eAAexC,iBAAiB;AAAA,IAAA0B,EAAA;AAAAe,YAAA,CAAAf,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\grass\\\\Desktop\\\\sicdorak\\\\frontend\\\\src\\\\GoogleLoginButton.js\",\n _s = $RefreshSig$();\nimport { GoogleLogin } from \"@react-oauth/google\";\nimport { GoogleOAuthProvider } from \"@react-oauth/google\";\nimport { useNavigate } from \"react-router-dom\";\nimport base64 from 'base-64';\nimport axios from 'axios';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com';\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: /*#__PURE__*/_jsxDEV(GoogleOAuthProvider, {\n clientId: clientId,\n children: /*#__PURE__*/_jsxDEV(GoogleLogin, {\n onSuccess: res => {\n /* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n aaaa.bbbb.cccc\n \n [base64]aaaa: 헤더\n [base64]bbbb: 페이로드 (실질적인 데이터)\n [RS256]cccc: 서명\n \n RS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n */\n let datas = res.credential.split('.');\n const obj = JSON.parse(b64DecodeUnicode(datas[1]));\n commuTest(obj);\n },\n onFailure: err => {\n console.log(\"Login Failed\");\n console.log(err);\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_c = GoogleLoginButton;\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\nasync function commuTest(payloadObj) {\n _s();\n const navigate = useNavigate();\n const goMain = () => {\n navigate(\"/main\");\n };\n const response = await axios({\n url: 'http://localhost:8080/login',\n // 통신할 웹문서\n method: 'post',\n // 통신할 방식\n data: payloadObj\n });\n if (response.status === 200) {\n goMain();\n }\n console.log(response);\n}\n_s(commuTest, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\nexport default GoogleLoginButton;\nvar _c;\n$RefreshReg$(_c, \"GoogleLoginButton\");","map":{"version":3,"names":["GoogleLogin","GoogleOAuthProvider","useNavigate","base64","axios","jsxDEV","_jsxDEV","Fragment","_Fragment","GoogleLoginButton","clientId","children","onSuccess","res","datas","credential","split","obj","JSON","parse","b64DecodeUnicode","commuTest","onFailure","err","console","log","fileName","_jsxFileName","lineNumber","columnNumber","_c","str","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","payloadObj","_s","navigate","goMain","response","url","method","data","status","$RefreshReg$"],"sources":["C:/Users/grass/Desktop/sicdorak/frontend/src/GoogleLoginButton.js"],"sourcesContent":["import {GoogleLogin} from \"@react-oauth/google\";\nimport {GoogleOAuthProvider} from \"@react-oauth/google\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport base64 from 'base-64';\nimport axios from 'axios';\n\nconst GoogleLoginButton = () => {\n const clientId = '716858812522-rb0pfisq317unkh4so5hvbu16p19kqp8.apps.googleusercontent.com'\n\t\n\n\t\n\n\n\n return (\n <>\n <GoogleOAuthProvider clientId={clientId}>\n <GoogleLogin\n onSuccess={(res) => {\n\t\t\t\t\t\t/* 발급받은 토큰은 . 을 기준으로 3 개로 나뉜다.\n\t\t\t\t\t\taaaa.bbbb.cccc\n\t\t\t\t\t\t\n\t\t\t\t\t\t[base64]aaaa: 헤더\n\t\t\t\t\t\t[base64]bbbb: 페이로드 (실질적인 데이터)\n\t\t\t\t\t\t[RS256]cccc: 서명\n\t\t\t\t\t\t\n\t\t\t\t\t\tRS256 : 암호화 알고리즘, JWT 서명할 때 사용한다고 함\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tlet datas = res.credential.split('.')\n\t\t\t\t\t\tconst obj = JSON.parse(b64DecodeUnicode(datas[1]));\n\t\t\t\t\t\tcommuTest(obj);\n }}\n onFailure={(err) => {\n\t\t\t\t\t\tconsole.log(\"Login Failed\");\n console.log(err);\n }}\n />\n </GoogleOAuthProvider>\n </>\n );\n};\n\nfunction b64DecodeUnicode(str) {\n // Going backwards: from bytestream, to percent-encoding, to original string.\n return decodeURIComponent(atob(str)\n\t\t.split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\n\nasync function commuTest(payloadObj) {\n\tconst navigate = useNavigate();\n\tconst goMain = () => {\n\t\tnavigate(\"/main\");\n\t}\n const response = await axios({\n\t\turl: 'http://localhost:8080/login', // 통신할 웹문서\n\t\tmethod: 'post', // 통신할 방식\n\t\tdata: payloadObj\n\t});\n\tif (response.status === 200) {\n\t\tgoMain()\n\t}\n\tconsole.log(response)\n}\n\nexport default GoogleLoginButton"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,mBAAmB,QAAO,qBAAqB;AACvD,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,OAAOC,MAAM,MAAM,SAAS;AAC5B,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAE1B,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAC5B,MAAMC,QAAQ,GAAG,0EAA0E;EAO3F,oBACIJ,OAAA,CAAAE,SAAA;IAAAG,QAAA,eACIL,OAAA,CAACL,mBAAmB;MAACS,QAAQ,EAAEA,QAAS;MAAAC,QAAA,eACpCL,OAAA,CAACN,WAAW;QACRY,SAAS,EAAGC,GAAG,IAAK;UAClC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;UACM,IAAIC,KAAK,GAAGD,GAAG,CAACE,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC;UACrC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACC,gBAAgB,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAClDO,SAAS,CAACJ,GAAG,CAAC;QACA,CAAE;QACFK,SAAS,EAAGC,GAAG,IAAK;UAClCC,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACF,GAAG,CAAC;QACpB;MAAE;QAAAG,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACe;EAAC,gBACxB,CAAC;AAEX,CAAC;AAACC,EAAA,GAlCIrB,iBAAiB;AAoCvB,SAASW,gBAAgBA,CAACW,GAAG,EAAE;EAC3B;EACA,OAAOC,kBAAkB,CAACC,IAAI,CAACF,GAAG,CAAC,CACpCf,KAAK,CAAC,EAAE,CAAC,CAACkB,GAAG,CAAC,UAASC,CAAC,EAAE;IACrB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAGA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC;EAChE,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB;AAEA,eAAelB,SAASA,CAACmB,UAAU,EAAE;EAAAC,EAAA;EACpC,MAAMC,QAAQ,GAAGxC,WAAW,CAAC,CAAC;EAC9B,MAAMyC,MAAM,GAAGA,CAAA,KAAM;IACpBD,QAAQ,CAAC,OAAO,CAAC;EAClB,CAAC;EACE,MAAME,QAAQ,GAAG,MAAMxC,KAAK,CAAC;IAC/ByC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEP;EACP,CAAC,CAAC;EACF,IAAII,QAAQ,CAACI,MAAM,KAAK,GAAG,EAAE;IAC5BL,MAAM,CAAC,CAAC;EACT;EACAnB,OAAO,CAACC,GAAG,CAACmB,QAAQ,CAAC;AACtB;AAACH,EAAA,CAdcpB,SAAS;EAAA,QACNnB,WAAW;AAAA;AAe7B,eAAeO,iBAAiB;AAAA,IAAAqB,EAAA;AAAAmB,YAAA,CAAAnB,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
No preview for this file type
No preview for this file type
File added
File added
File added
No preview for this file type
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment