๐ค<Firebase> ํ์ด์ค๋ถ ๋ก๊ทธ์ธ ํ๊ฒฝ์ค์
๐firebase Authentication์ผ๋ก ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ
Authentication
์ ๋ค์ด๊ฐ sign-in method
ํญ์ ๋ค์ด๊ฐ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฐฝ์ด ๋จ๋๋ฐ ๋ก๊ทธ์ธ ์ ๊ณต์
์ฒด ์์ ์ ์ ๊ณต์
์ฒด ์ถ๊ฐ
๋ฅผ ๋๋ฌ์ฃผ๋ฉด ๋๋ค.
์ ์ ๊ณต์
์ฒด ์ถ๊ฐ
์์ ํ์ด์ค๋ถ์ ์ถ๊ฐ๋ฅผ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์ค๋๋ฐ Facebook for Developers
์ ๋ค์ด๊ฐ๊ฐ์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด์ค์ผ ํ๋ค.
ํํ์ด์ง์ ๋ค์ด๊ฐ ๋ก๊ทธ์ธ๋ฅผ ํด์ฃผ๊ณ ์๋จ์ ๋ด ์ฑ
์ ๋ค์ด๊ฐ ์ค ํ ์ฑ ๋ง๋ค๊ธฐ๋ฅผ ํด์ค๋ค.
๊ทธ๋ผ ๋ค์ ๊ณผ ๊ฐ์ด ๋์ค๋๋ฐ facebook ๋ก๊ทธ์ธ์ ์ฌ์ฉํ๊ธฐ ์ํด ์๋น์๋ฅผ ํด๋ฆญํด์ค๋ค.
ํ์์ด๋ฆ๊ณผ ์ฑ ์ฐ๋ฝ์ฒ ์ด๋ฉ์ผ์ ์ ์ด์ค๋ค.
๋ค ์ ์ ํ ์ฑ ๋ง๋ค๊ธฐ๋ฅผ ๋๋ฅด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฑ์ ์ ํ ์ถ๊ฐ ์ฐฝ์ด ๋ฌ๋ค. facebook ๋ก๊ทธ์ธ๋ฅผ ์ฌ์ฉ ํ๊ธฐ ์ํด์ facebook ๋ก๊ทธ์ธ์ ์ค์ ํด ์ค๋ค.
๊ทธ๋ฆฌ๊ณ ์ค์ ์ ๋๋ฅด๋ฉด ํ๋ซํผ์ ์ ํํ๋ผ๊ณ ํ๋๋ฐ ์ ๋ ์๋๋ก์ด๋์์ ์ฌ์ฉํ๊ธฐ ์ํด์ ์๋๋ก์ด๋ ์ ํํ์ต๋๋ค.
๊ทธ๋ผ ๋ค์๊ณผ ๊ฐ์ด ์๋๋ก์ด๋์คํ๋์ค์์ ์ฌ์ฉํ ์์๊ฒ ๋์์ค๋ค.
์ด ๊ณผ์ ์์ ์ ๋๋ ๋ถ๋ถ์ด ์์๋๋ฐ Meta for developers
์ stackoverflow
๋์์ ํตํด ํด๊ฒฐ์ ํ์์ต๋๋ค.
https://developers.facebook.com/docs/facebook-login/android/?locale=ko_KR
Facebook SDK ๊ฐ์ ธ์ค๊ธฐ 1
๋จผ์ ์ด ์ค๋ช
์๋๋ก ํ๋ฉด API ๋ ๋ฒจ์ 15 ์ด์์ด์ฌ์ผ ํ๊ณ build.gradle(Project)์ mavenCentral()
์ ์ฅํ๋ผ๊ณ ๋์ด์๋๋ฐ ์๋๋ก์ด๋์คํ๋์ค๊ฐ ์
๋ฐ์ดํธ๊ฐ ๋ ํ build.gradle(Project)์ ๋ค์ด๊ฐ๋ฉด ๋ฐ์ ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋์จ๋ค.
build.gradle(Project)์ ๋ค์ด๊ฐ์ง ๋ง๊ณ settings.gradle
๋ค์ด๊ฐ ๋ค์๊ณผ ๊ฐ์ด ์ถ๊ฐํด ์ฃผ๋ฉด ๋๋ค.
Facebook SDK ๊ฐ์ ธ์ค๊ธฐ 2
์ด ๋ถ๋ถ์์๋ build.gradle(Module: app)์ ์ฐ ํ dependencies{} ์น์
์ implementation 'com.facebook.android:facebook-android-sdk:[4,5)'
๋ฅผ ๋ฃ์ด ์ฃผ๋ผ๊ณ ๋์ด ์๋๋ฐ ๋ด๊ฐ ๋ญ ์๋ชป๋๋์ง ์๋์ด Meta for Developers
๋ฌธ์์์ ์๋ฌธ๋ฒ์ ๊ณผ ํ๊ตญ์ด๋ฒ์ ์ฝ๋๊ฐ ํ๋ฆฌ๊ธธ๋ ์๋ฌธ๋ฒ์ ์ ์ ์ด์คฌ๋๋ ๋์๋ค.
ํ๊ตญ์ด ๋ฒ์ ๋ฌธ์
์๊ตญ์ด ๋ฒ์ ๋ฌธ์
Facebook SDK ๊ฐ์ ธ์ค๊ธฐ 3
์ฝ๋๋ฅผ ๋ค ๋ฃ์ด์ฃผ๊ณ Sync Now๋ฅผ ํด์ฃผ๊ณ ์ฝํ๋ฆฐํ์ผ์์ ๋ค์๊ณผ ๊ฐ์ด Login๋ฅผ ์ ์ด์ฃผ๋ฉด com.facebook์ผ๋ก ์์ํ๋ ํด๋์ค๊ฐ Import๊ฐ ๋๋ฉด Facebook SDK ์ค์ ์ด ์ฑ๊ณต์ ์ผ๋ก ๋์์ต๋๋ค.
์ฑ ID, ์ฑ ๋น๋ฐ๋ฒํธ ๊ฐ์ ธ์ค๊ธฐ
์ธ์ ์ค์ ์ ๋ค ํ๊ณ ํ์ด์ด๋ฒ ์ด์ค์์ ์๊ตฌํ๋ ์ฑ ID, ์ฑ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ฐ์ ธ์ฌ๋ ค๊ณ ํฉ๋๋ค.
๋จผ์ ํ์ด์ค๋ถ Developers์์ ์ค์ -> ๊ธฐ๋ณธ ์ค์ ์ ๋๋ฅด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฑ ID์ ์ฑ ๋น๋ฐ๋ฒํธ์ธ ์ฑ ์ํฌ๋ฆฟ ์ฝ๋๋ฅผ ์ป์ ์ ์๋ค. ์ฑ ์ํฌ๋ฆฟ ์ฝ๋๋ ๋ณด๊ธฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ฝ๋๊ฐ ๋์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ณ๊ฒฝ ๋ด์ฉ ์ ์ฅ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ธ์ ๋ณด๋ฐฉ์นจ URL๊ณผ ์ฌ์ฉ์ ๋ฐ์ดํฐ ์ญ์ URL๋ฑ์ ์ ์ด์ฃผ๋ผ๊ณ ํ๋๋ฐ ์ ๋ ๊นํ๋ธ ์ฃผ์๋ฅผ ์ ์ด ์คฌ์ต๋๋ค.
์ฌ๊ธฐ์ ์ฑ ID์ ์ฑ ์ํฌ๋ฆฟ ์ฝ๋๋ฅผ ํ์ด์ด๋ฒ ์ด์ค์ ๋ค ์ ์ด์ค๋๋ค.๊ทธ๋ฆฌ๊ณ ๋ฐ์ OAuth ๋ฆฌ๋๋ ์
URI๊ฐ ์๋๋ฐ ๋ณต์ฌ๋ฅผ ํด์ค๋๋ค.
๋ณต์ฌ๋ฅผ ํ ํ ์ผ์ชฝ ํญ์์ Facebook ๋ก๊ทธ์ธ -> ์ค์ ์ ๋ค์ด๊ฐ์ ๋ฐ์ ์ ํจํ OAuth ๋ฆฌ๋๋ ์
URI ๋ถ๋ถ์ ๋ณต์ฌํ OAuth ๋ฆฌ๋๋ ์
URI ๋ฃ์ด์ค๋๋ค.
๊ทธ๋ผ ๋ชจ๋ ํ๊ฒฝ ์ค์ ์ ๋๋ฌ์ต๋๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ค<Firebase> ํ์ด์ค๋ถ ๋ก๊ทธ์ธ ํ๊ฒฝ์ค์ ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@abc9985/Firebase-ํ์ด์ค๋ถ-๋ก๊ทธ์ธ-ํ๊ฒฝ์ค์ ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค