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
Branches
No related tags found
No related merge requests found
Showing
with 32 additions and 4 deletions
......@@ -22,9 +22,19 @@ app.get('/', function (req, res) {
res.sendFile(path.join(process.cwd(), '../frontend/build/index.html'));
});
*/
app.post('/temp', (req, res) => {
function b64_to_utf8( str ) {
return decodeURIComponent(escape(window.atob( str )));
}
function encode_utf8(s) {
return unescape(encodeURIComponent(s));
}
app.post('/login', (req, res) => {
const text = req.body;
console.log(text);
console.log(req.body.name);
res.send(req.body.name);
//res.redirect(200, "/main");
});
......
[{"C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\index.js":"1","C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\App.js":"2","C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\Main.js":"3","C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\GoogleLoginButton.js":"4","C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\index.js":"5","C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\App.js":"6","C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\GoogleLoginButton.js":"7"},{"size":539,"mtime":1699961336165,"results":"8","hashOfConfig":"9"},{"size":147,"mtime":1699962150722,"results":"10","hashOfConfig":"9"},{"size":94,"mtime":1699958523568,"results":"11","hashOfConfig":"9"},{"size":904,"mtime":1699962468727,"results":"12","hashOfConfig":"9"},{"size":424,"mtime":1699980897455,"results":"13","hashOfConfig":"14"},{"size":147,"mtime":1699962150722,"results":"15","hashOfConfig":"14"},{"size":1411,"mtime":1699986929555,"results":"16","hashOfConfig":"14"},{"filePath":"17","messages":"18","suppressedMessages":"19","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"20"},"1vnyped",{"filePath":"21","messages":"22","suppressedMessages":"23","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"20"},{"filePath":"24","messages":"25","suppressedMessages":"26","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"27"},{"filePath":"28","messages":"29","suppressedMessages":"30","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"31","messages":"32","suppressedMessages":"33","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"34"},"hw0tuu",{"filePath":"35","messages":"36","suppressedMessages":"37","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"34"},{"filePath":"38","messages":"39","suppressedMessages":"40","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\index.js",[],[],["41","42","43","44","45","46"],"C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\App.js",[],[],"C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\Main.js",[],[],["47","48","49","50","51","52"],"C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\GoogleLoginButton.js",["53"],[],"C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\index.js",[],[],["54","55","56","57","58","59"],"C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\App.js",[],[],"C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\GoogleLoginButton.js",["60","61","62"],[],{"ruleId":"63","replacedBy":"64"},{"ruleId":"65","replacedBy":"66"},{"ruleId":"67","replacedBy":"68"},{"ruleId":"69","replacedBy":"70"},{"ruleId":"71","replacedBy":"72"},{"ruleId":"73","replacedBy":"74"},{"ruleId":"63","replacedBy":"75"},{"ruleId":"65","replacedBy":"76"},{"ruleId":"67","replacedBy":"77"},{"ruleId":"69","replacedBy":"78"},{"ruleId":"71","replacedBy":"79"},{"ruleId":"73","replacedBy":"80"},{"ruleId":"81","severity":1,"message":"82","line":8,"column":6,"nodeType":"83","messageId":"84","endLine":8,"endColumn":13},{"ruleId":"63","replacedBy":"85"},{"ruleId":"65","replacedBy":"86"},{"ruleId":"67","replacedBy":"87"},{"ruleId":"69","replacedBy":"88"},{"ruleId":"71","replacedBy":"89"},{"ruleId":"73","replacedBy":"90"},{"ruleId":"81","severity":1,"message":"91","line":8,"column":6,"nodeType":"83","messageId":"84","endLine":8,"endColumn":11},{"ruleId":"81","severity":1,"message":"82","line":9,"column":6,"nodeType":"83","messageId":"84","endLine":9,"endColumn":13},{"ruleId":"81","severity":1,"message":"92","line":41,"column":11,"nodeType":"83","messageId":"84","endLine":41,"endColumn":19},"dot-location",[],"new-parens",[],"no-mixed-operators",[],"no-new-object",["93"],"no-whitespace-before-property",[],"rest-spread-spacing",[],[],[],[],["93"],[],[],"no-unused-vars","'payload' is assigned a value but never used.","Identifier","unusedVar",[],[],[],["93"],[],[],"'token' is assigned a value but never used.","'response' is assigned a value but never used.","no-object-constructor"]
\ No newline at end of file
[{"C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\index.js":"1","C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\App.js":"2","C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\Main.js":"3","C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\GoogleLoginButton.js":"4","C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\index.js":"5","C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\App.js":"6","C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\GoogleLoginButton.js":"7","C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\Main.js":"8"},{"size":539,"mtime":1699961336165,"results":"9","hashOfConfig":"10"},{"size":147,"mtime":1699962150722,"results":"11","hashOfConfig":"10"},{"size":94,"mtime":1699958523568,"results":"12","hashOfConfig":"10"},{"size":904,"mtime":1699962468727,"results":"13","hashOfConfig":"10"},{"size":495,"mtime":1699988738392,"results":"14","hashOfConfig":"15"},{"size":147,"mtime":1699962150722,"results":"16","hashOfConfig":"15"},{"size":2006,"mtime":1699992632157,"results":"17","hashOfConfig":"15"},{"size":94,"mtime":1699958523568,"results":"18","hashOfConfig":"15"},{"filePath":"19","messages":"20","suppressedMessages":"21","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"22"},"1vnyped",{"filePath":"23","messages":"24","suppressedMessages":"25","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"22"},{"filePath":"26","messages":"27","suppressedMessages":"28","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"29"},{"filePath":"30","messages":"31","suppressedMessages":"32","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"33","messages":"34","suppressedMessages":"35","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"hw0tuu",{"filePath":"36","messages":"37","suppressedMessages":"38","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"39"},{"filePath":"40","messages":"41","suppressedMessages":"42","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"43","messages":"44","suppressedMessages":"45","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\index.js",[],[],["46","47","48","49","50","51"],"C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\App.js",[],[],"C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\Main.js",[],[],["52","53","54","55","56","57"],"C:\\Users\\grass\\Desktop\\study2\\frontend\\src\\GoogleLoginButton.js",["58"],[],"C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\index.js",[],[],"C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\App.js",[],[],["59","60","61","62","63","64"],"C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\GoogleLoginButton.js",["65","66"],[],"C:\\Users\\grass\\Desktop\\sicdorak\\frontend\\src\\Main.js",[],[],{"ruleId":"67","replacedBy":"68"},{"ruleId":"69","replacedBy":"70"},{"ruleId":"71","replacedBy":"72"},{"ruleId":"73","replacedBy":"74"},{"ruleId":"75","replacedBy":"76"},{"ruleId":"77","replacedBy":"78"},{"ruleId":"67","replacedBy":"79"},{"ruleId":"69","replacedBy":"80"},{"ruleId":"71","replacedBy":"81"},{"ruleId":"73","replacedBy":"82"},{"ruleId":"75","replacedBy":"83"},{"ruleId":"77","replacedBy":"84"},{"ruleId":"85","severity":1,"message":"86","line":8,"column":6,"nodeType":"87","messageId":"88","endLine":8,"endColumn":13},{"ruleId":"67","replacedBy":"89"},{"ruleId":"69","replacedBy":"90"},{"ruleId":"71","replacedBy":"91"},{"ruleId":"73","replacedBy":"92"},{"ruleId":"75","replacedBy":"93"},{"ruleId":"77","replacedBy":"94"},{"ruleId":"85","severity":1,"message":"95","line":3,"column":23,"nodeType":"87","messageId":"88","endLine":3,"endColumn":31},{"ruleId":"85","severity":1,"message":"96","line":5,"column":8,"nodeType":"87","messageId":"88","endLine":5,"endColumn":14},"dot-location",[],"new-parens",[],"no-mixed-operators",[],"no-new-object",["97"],"no-whitespace-before-property",[],"rest-spread-spacing",[],[],[],[],["97"],[],[],"no-unused-vars","'payload' is assigned a value but never used.","Identifier","unusedVar",[],[],[],["97"],[],[],"'Navigate' is defined but never used.","'base64' is defined but never used.","no-object-constructor"]
\ 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 } 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 navigate = useNavigate();\nconst goMain = () => {\n navigate(\"/main\");\n};\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: 24,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\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 if (response.status === 200) {\n goMain();\n }\n console.log(response);\n}\nexport default GoogleLoginButton;\nvar _c;\n$RefreshReg$(_c, \"GoogleLoginButton\");","map":{"version":3,"names":["GoogleLogin","GoogleOAuthProvider","useNavigate","base64","axios","jsxDEV","_jsxDEV","Fragment","_Fragment","navigate","goMain","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","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 navigate = useNavigate();\nconst goMain = () => {\n\tnavigate(\"/main\");\n}\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\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,QAAQ,GAAGP,WAAW,CAAC,CAAC;AAC9B,MAAMQ,MAAM,GAAGA,CAAA,KAAM;EACpBD,QAAQ,CAAC,OAAO,CAAC;AAClB,CAAC;AAED,MAAME,iBAAiB,GAAGA,CAAA,KAAM;EAC5B,MAAMC,QAAQ,GAAG,0EAA0E;EAO3F,oBACIN,OAAA,CAAAE,SAAA;IAAAK,QAAA,eACIP,OAAA,CAACL,mBAAmB;MAACW,QAAQ,EAAEA,QAAS;MAAAC,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,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;EAEjC,MAAMC,QAAQ,GAAG,MAAMvC,KAAK,CAAC;IAC/BwC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEJ;EACP,CAAC,CAAC;EACF,IAAIC,QAAQ,CAACI,MAAM,KAAK,GAAG,EAAE;IAC5BrC,MAAM,CAAC,CAAC;EACT;EACAgB,OAAO,CAACC,GAAG,CAACgB,QAAQ,CAAC;AACtB;AAEA,eAAehC,iBAAiB;AAAA,IAAAqB,EAAA;AAAAgB,YAAA,CAAAhB,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 } 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 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: 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}\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","console","log","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\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\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\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}\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;;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,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;;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;UAChBM,SAAS,CAACN,GAAG,CAAC;QACA,CAAE;QACFO,SAAS,EAAGC,GAAG,IAAK;UAClCJ,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACG,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;AAACC,EAAA,GA/BIrB,iBAAiB;AAiCvB,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,eAAehB,SAASA,CAACiB,UAAU,EAAE;EAEjC,MAAMC,QAAQ,GAAG,MAAMrC,KAAK,CAAC;IAC/BsC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEJ;EACP,CAAC,CAAC;EACFnB,OAAO,CAACC,GAAG,CAACmB,QAAQ,CAAC;AACtB;AAEA,eAAehC,iBAAiB;AAAA,IAAAqB,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$(),\n _s2 = $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 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_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 _s2();\n const movePage = 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 movePage('/main');\n }\n console.log(response);\n}\n_s2(commuTest, \"UYj8kz9hI9pXj1ZJ1vBf3yAZzBk=\", 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","_s","clientId","navigate","goToMain","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","_s2","movePage","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\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\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 movePage = 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\tmovePage('/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;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;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;AAACtB,EAAA,CApCID,iBAAiB;EAAA,QAELP,WAAW;AAAA;AAAA+B,EAAA,GAFvBxB,iBAAiB;AAsCvB,SAASc,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,GAAA;EACpC,MAAMC,QAAQ,GAAG3C,WAAW,CAAC,CAAC;EAC3B,MAAM4C,QAAQ,GAAG,MAAM1C,KAAK,CAAC;IAC/B2C,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,GAAA,CAXcpB,SAAS;EAAA,QACNtB,WAAW;AAAA;AAY7B,eAAeO,iBAAiB;AAAA,IAAAwB,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 } 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 const obj = JSON.parse(base64.decode(datas[1]));\n console.log(obj);\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_s(GoogleLoginButton, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\n_c = GoogleLoginButton;\nasync function commuTest(payloadObj) {\n const response = await axios({\n url: 'http://localhost:8080/temp',\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","obj","JSON","parse","decode","console","log","commuTest","onFailure","err","fileName","_jsxFileName","lineNumber","columnNumber","_c","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\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\t\n\t\t\t\t\t\tconst obj = JSON.parse(base64.decode(datas[1]));\n\t\t\t\t\t\tconsole.log(obj);\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\nasync function commuTest(payloadObj) {\n const response = await axios({\n\t\turl: 'http://localhost:8080/temp', // 통신할 웹문서\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;EAGE,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;UAErC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACnB,MAAM,CAACoB,MAAM,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAC/CO,OAAO,CAACC,GAAG,CAACL,GAAG,CAAC;UAChBM,SAAS,CAACN,GAAG,CAAC;QACA,CAAE;QACFO,SAAS,EAAGC,GAAG,IAAK;UAClCJ,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACG,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;AAACtB,EAAA,CApCID,iBAAiB;EAAA,QAELP,WAAW;AAAA;AAAA+B,EAAA,GAFvBxB,iBAAiB;AAsCvB,eAAeiB,SAASA,CAACQ,UAAU,EAAE;EACjC,MAAMC,QAAQ,GAAG,MAAM/B,KAAK,CAAC;IAC/BgC,GAAG,EAAE,4BAA4B;IAAE;IACnCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEJ;EACP,CAAC,CAAC;AACH;AAEA,eAAezB,iBAAiB;AAAA,IAAAwB,EAAA;AAAAM,YAAA,CAAAN,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.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);\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,CAAC;UAC5BJ,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,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;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\\\\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.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 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.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\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,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,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\\\\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: \"/main\",\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=\"/main\" 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);\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","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 = () => {\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);\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,CAAC;UACrB,IAAIA,QAAQ,EAAE;YACbb,MAAM,CAAC,CAAC;UACT;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;AAACvB,EAAA,CAtCID,iBAAiB;EAAA,QAELR,WAAW;AAAA;AAAAiC,EAAA,GAFvBzB,iBAAiB;AAwCvB,SAASc,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,MAAMtB,KAAK,CAAC;IAC/ByC,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,eAAevC,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\\\\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 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_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 if (response.status === 200) {\n movePage('/main');\n }\n console.log(response);\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","obj","JSON","parse","b64DecodeUnicode","commuTest","onFailure","err","console","log","fileName","_jsxFileName","lineNumber","columnNumber","_c","str","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","payloadObj","response","url","method","data","status","movePage","$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\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 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\tmovePage('/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;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;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;AAACtB,EAAA,CApCID,iBAAiB;EAAA,QAELP,WAAW;AAAA;AAAA+B,EAAA,GAFvBxB,iBAAiB;AAsCvB,SAASc,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;EACjC,MAAMC,QAAQ,GAAG,MAAMxC,KAAK,CAAC;IAC/ByC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEJ;EACP,CAAC,CAAC;EACF,IAAIC,QAAQ,CAACI,MAAM,KAAK,GAAG,EAAE;IAC5BC,QAAQ,CAAC,OAAO,CAAC;EAClB;EACAtB,OAAO,CAACC,GAAG,CAACgB,QAAQ,CAAC;AACtB;AAEA,eAAenC,iBAAiB;AAAA,IAAAwB,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 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_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","obj","JSON","parse","b64DecodeUnicode","commuTest","onFailure","err","console","log","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\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 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;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;AAACtB,EAAA,CApCID,iBAAiB;EAAA,QAELP,WAAW;AAAA;AAAA+B,EAAA,GAFvBxB,iBAAiB;AAsCvB,SAASc,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;EACjC,MAAMC,QAAQ,GAAG,MAAMxC,KAAK,CAAC;IAC/ByC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEJ;EACP,CAAC,CAAC;AACH;AAEA,eAAelC,iBAAiB;AAAA,IAAAwB,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\";\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';\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 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: 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}\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","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\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\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\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}\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;;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,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;EAEjC,MAAMC,QAAQ,GAAG,MAAMrC,KAAK,CAAC;IAC/BsC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEJ;EACP,CAAC,CAAC;EACFhB,OAAO,CAACC,GAAG,CAACgB,QAAQ,CAAC;AACtB;AAEA,eAAehC,iBAAiB;AAAA,IAAAqB,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 _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 const obj = JSON.parse(base64.decode(datas[1]));\n console.log(obj);\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: 18,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_s(GoogleLoginButton, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\n_c = GoogleLoginButton;\nasync function commuTest(payloadObj) {\n const response = await axios({\n url: 'http://localhost:8080/temp',\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","obj","JSON","parse","decode","console","log","commuTest","onFailure","err","fileName","_jsxFileName","lineNumber","columnNumber","_c","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\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\t\n\t\t\t\t\t\tconst obj = JSON.parse(base64.decode(datas[1]));\n\t\t\t\t\t\tconsole.log(obj);\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\nasync function commuTest(payloadObj) {\n const response = await axios({\n\t\turl: 'http://localhost:8080/temp', // 통신할 웹문서\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;EAEE,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;UAErC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACnB,MAAM,CAACoB,MAAM,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAC/CO,OAAO,CAACC,GAAG,CAACL,GAAG,CAAC;UAChBM,SAAS,CAACN,GAAG,CAAC;QACA,CAAE;QACFO,SAAS,EAAGC,GAAG,IAAK;UAClCJ,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACG,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;AAACtB,EAAA,CAnCID,iBAAiB;EAAA,QAELP,WAAW;AAAA;AAAA+B,EAAA,GAFvBxB,iBAAiB;AAqCvB,eAAeiB,SAASA,CAACQ,UAAU,EAAE;EACjC,MAAMC,QAAQ,GAAG,MAAM/B,KAAK,CAAC;IAC/BgC,GAAG,EAAE,4BAA4B;IAAE;IACnCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEJ;EACP,CAAC,CAAC;AACH;AAEA,eAAezB,iBAAiB;AAAA,IAAAwB,EAAA;AAAAM,YAAA,CAAAN,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 const obj = JSON.parse(base64.decode(datas[1]));\n console.log(obj);\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: 18,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, this)\n }, void 0, false);\n};\n_s(GoogleLoginButton, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n return [useNavigate];\n});\n_c = GoogleLoginButton;\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","obj","JSON","parse","decode","console","log","commuTest","onFailure","err","fileName","_jsxFileName","lineNumber","columnNumber","_c","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\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\t\n\t\t\t\t\t\tconst obj = JSON.parse(base64.decode(datas[1]));\n\t\t\t\t\t\tconsole.log(obj);\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\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;EAEE,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;UAErC,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACnB,MAAM,CAACoB,MAAM,CAACN,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAC/CO,OAAO,CAACC,GAAG,CAACL,GAAG,CAAC;UAChBM,SAAS,CAACN,GAAG,CAAC;QACA,CAAE;QACFO,SAAS,EAAGC,GAAG,IAAK;UAClCJ,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;UACTD,OAAO,CAACC,GAAG,CAACG,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;AAACtB,EAAA,CAnCID,iBAAiB;EAAA,QAELP,WAAW;AAAA;AAAA+B,EAAA,GAFvBxB,iBAAiB;AAqCvB,eAAeiB,SAASA,CAACQ,UAAU,EAAE;EACjC,MAAMC,QAAQ,GAAG,MAAM/B,KAAK,CAAC;IAC/BgC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEJ;EACP,CAAC,CAAC;AACH;AAEA,eAAezB,iBAAiB;AAAA,IAAAwB,EAAA;AAAAM,YAAA,CAAAN,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 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\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;UAC7B,IAAIM,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,CArCID,iBAAiB;EAAA,QAELR,WAAW;AAAA;AAAAkC,EAAA,GAFvB1B,iBAAiB;AAuCvB,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\\\\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 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();\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,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,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 } 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 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_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}\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","obj","JSON","parse","b64DecodeUnicode","commuTest","onFailure","err","console","log","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\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 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}\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;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;AAACtB,EAAA,CApCID,iBAAiB;EAAA,QAELP,WAAW;AAAA;AAAA+B,EAAA,GAFvBxB,iBAAiB;AAsCvB,SAASc,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;EACjC,MAAMC,QAAQ,GAAG,MAAMxC,KAAK,CAAC;IAC/ByC,GAAG,EAAE,6BAA6B;IAAE;IACpCC,MAAM,EAAE,MAAM;IAAE;IAChBC,IAAI,EAAEJ;EACP,CAAC,CAAC;EAEFhB,OAAO,CAACC,GAAG,CAACgB,QAAQ,CAAC;AACtB;AAEA,eAAenC,iBAAiB;AAAA,IAAAwB,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 = () => {\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);\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 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","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 = () => {\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);\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 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,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,CAAC;UACrB,IAAIA,QAAQ,EAAE;YACbb,MAAM,CAAC,CAAC;UACT;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;AAACvB,EAAA,CAtCID,iBAAiB;EAAA,QAELR,WAAW;AAAA;AAAAiC,EAAA,GAFvBzB,iBAAiB;AAwCvB,SAASc,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,MAAMtB,KAAK,CAAC;IAC/ByC,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,eAAetC,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 } 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: \"/login\",\n element: /*#__PURE__*/_jsxDEV(Main, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 33\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=\"/login\" 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,QAAQ;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,OAC9B;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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment