Google Login API ์—ฐ๋™ํ•˜๊ธฐ(Web Service)

    ๋ฐ˜์‘ํ˜•

    * 2021.01.18 ๊ธฐ์ค€ ์ž‘๋™ ํ™•์ธ๋จ.

     

    1. ๊ตฌ๊ธ€ API Console ์ ‘์†

    - ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ ‘์†ํ•˜์—ฌ Google+ API ์‚ฌ์šฉ ํด๋ฆญ.

     

     

     

    2. ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ๋งŒ๋“ค๊ธฐ

    - ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ํƒญ์—์„œ ์ƒ๋‹จ์˜ '์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ๋งŒ๋“ค๊ธฐ' ํด๋ฆญ ํ›„, OAuth Client ID ํด๋ฆญ.

     

     

    - ์œ ํ˜•์— ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ ํƒ ํ›„, Local ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด, localhost ์ฃผ์†Œ ์ž…๋ ฅ

     

     

    - ํ•˜๋‹จ์˜ ๋งŒ๋“ค๊ธฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ๋œธ.

     

     

    ์—ฌ๊ธฐ์„œ, ํด๋ผ์ด์–ธํŠธ ID ๋ฅผ ๋ณต์‚ฌํ•ด๋†“๋Š”๋‹ค.

     

     

    3. ์„œ๋น„์Šค์— ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ถ”๊ฐ€ ๋ฐ ์ž‘์—…

     

    - ์†Œ์Šค ํ—ค๋”์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€.

     

    <script src="https://apis.google.com/js/platform.js" async defer></script>
    <meta name="google-signin-client_id" content="ํด๋ผ์ด์–ธํŠธID.apps.googleusercontent.com">

     

    - ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ถ”๊ฐ€.

     

    <div class="g-signin2" data-onsuccess="onSignIn"></div>

     

    - ๋กœ๊ทธ์ธ ํ›„, ์ •๋ณด ๊ฐ€์ ธ์˜ค๋Š” ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€.

     

    function onSignIn(googleUser) {
      var profile = googleUser.getBasicProfile();
      console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
      console.log('Name: ' + profile.getName());
      console.log('Image URL: ' + profile.getImageUrl());
      console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
    }

     

    - ์ดํ›„, ์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„-์‚ฌ์ด๋“œ๋กœ ๋„˜๊ฒจ์„œ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ๊ธฐํƒ€ ๋“ฑ๋“ฑ ์›ํ•˜๋Š” ์ž‘์—…์„ ์—ฐ๋™ํ•œ๋‹ค.

     

    - ๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ ์ถ”๊ฐ€, ํ•ด๋‹น ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์—ฐ๋™์ด ํ•ด์ œ๋œ๋‹ค. 

    <a href="#" onclick="signOut();">Sign out</a>
    <script>
      function signOut() {
        var auth2 = gapi.auth2.getAuthInstance();
        auth2.signOut().then(function () {
        console.log('User signed out.');
       });
     }
    </script>


    ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ๋กœ๊ทธ์•„์›ƒ ํ•˜๋Š” ๋ถ€๋ถ„์€ ๊ตฌ๊ธ€์—์„œ ํ•˜๋Š” ๊ฒƒ์ด๊ณ ,

    ์„œ๋น„์Šค์—์„œ ์‹ค์ œ ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… ๋“ฑ๋“ฑ์˜ ๊ตฌํ˜„์€ ์ง์ ‘ํ•ด์•ผ ํ•œ๋‹ค.

     

    ์—ฐ๋™์ด ๋งค์šฐ ์‰ฌ์šดํŽธ์ด๋ผ ์‰ฝ๊ฒŒ ๋”ฐ๋ผํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

    728x90
    ๋ฐ˜์‘ํ˜•

    '๐Ÿ‘‘Etc' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    [Linux] Svn Conflict Option  (0) 2021.02.06
    ERR_INCOMPLETE_CHUNKED_ENCODING 200  (0) 2021.01.27

    ๋Œ“๊ธ€