About GitHub Apps and OAuth apps
์ผ๋ฐ์ ์ผ๋ก GitHub Apps์(๋) OAuth apps๋ณด๋ค ์ ํธ๋ฉ๋๋ค. GitHub Apps์(๋) ์ธ๋ถํ๋ ์ฌ์ฉ ๊ถํ์ผ๋ก ์ฌ์ฉ์๊ฐ ์ฑ์ด ์ก์ธ์คํ ์ ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ ์ ์ ์ดํ ์ ์์ผ๋ฉฐ ์๋ช ์ด ์งง์ ํ ํฐ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฌํ ์์ฑ์ ์ฑ์ ์๊ฒฉ ์ฆ๋ช ์ด ์ ์ถ๋ ๊ฒฝ์ฐ์ ๋ฐ์ ๊ฐ๋ฅํ ์์์ ์ ํํ์ฌ ์ฑ์ ๋ณด์์ ๊ฐํํ ์ ์์ต๋๋ค.
OAuth apps์(๊ณผ) ๋ง์ฐฌ๊ฐ์ง๋ก GitHub Apps์(๋) ์ฌ์ ํ OAuth 2.0์ ์ฌ์ฉํ๊ณ OAuth ํ ํฐ ์ ํ(์ฌ์ฉ์ ์ก์ธ์ค ํ ํฐ)์ ์์ฑํ์ฌ ์ฌ์ฉ์ ๋์ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ GitHub Apps์(๋) ์ฌ์ฉ์์ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํ ์๋ ์์ต๋๋ค. ์ด๋ ์ฌ์ฉ์ ์ ๋ ฅ์ด ํ์ํ์ง ์์ ์๋ํ ์์ ์ ์ ์ฉํฉ๋๋ค. ์กฐ์ง์ ์ฑ์ ์ค์นํ ์ฌ๋์ด ์กฐ์ง์ ๋ ๋๋๋ผ๋ ์ฑ์ ๊ณ์ ์๋ํฉ๋๋ค.
GitHub Apps์๋ ๊ธฐ๋ณธ ์ ๊ณต๋๋ ์ค์ ์ง์ค์ ์นํํฌ๊ฐ ์์ต๋๋ค. GitHub Apps์(๋) ์ฑ์ด ์ก์ธ์คํ ์ ์๋ ๋ชจ๋ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฐ ์กฐ์ง์ ๋ํ ์นํํฌ ์ด๋ฒคํธ๋ฅผ ์์ ํ ์ ์์ต๋๋ค. ๋ฐ๋๋ก OAuth apps์์๋ ๊ฐ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฐ ์กฐ์ง์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก ์นํํฌ๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
์ค์น ์ก์ธ์ค ํ ํฐ์ ์ฌ์ฉํ๋ GitHub Apps์ ํธ๋ํฝ๋ฅ ์ ํ์ ๋ฆฌํฌ์งํ ๋ฆฌ ์์ ์กฐ์ง ์ฌ์ฉ์ ์๋ก ํ์ฅ๋ฉ๋๋ค. ๋ฐ๋๋ก OAuth apps์(๋) ํธ๋ํฝ๋ฅ ์ ํ์ด ๋ฎ์ผ๋ฉฐ ํ์ฅ๋์ง ์์ต๋๋ค.
OAuth app์ด(๊ฐ) GitHub App๋ณด๋ค ์ ํธ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ํฐํ๋ผ์ด์ฆ ๊ฐ์ฒด ์์ฒด์ ๊ฐ์ ์ํฐํ๋ผ์ด์ฆ ์์ค ๋ฆฌ์์ค์ ์ก์ธ์คํด์ผ ํ๋ ๊ฒฝ์ฐ, GitHub App์(๋) ์์ง ์ํฐํ๋ผ์ด์ฆ์ ๋ํ ๊ถํ์ ๋ถ์ฌํ ์ ์์ผ๋ฏ๋ก OAuth app์(๋ฅผ) ์ฌ์ฉํด์ผ ํฉ๋๋ค. GitHub Apps์(๋) ์ํฐํ๋ผ์ด์ฆ ์์ ์ ์กฐ์ง ๋ฐ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฆฌ์์ค์ ๊ณ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
GitHub Apps์ ๋ํ ์์ธํ ๋ด์ฉ์ GitHub ์ฑ ๋ง๋ค๊ธฐ ์ ๋ณด์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๊ธฐ์กด OAuth app์(๋ฅผ) GitHub App(์ผ)๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ OAuth ์ฑ์ GitHub ์ฑ์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋๊ฐ GitHub Apps๋ฅผ ์ค์นํ๊ณ OAuth apps์ ๊ถํ์ ๋ถ์ฌํ ์ ์๋์?
๊ฐ์ธ ๊ณ์ ๋๋ ์์ ํ ์กฐ์ง์ GitHub ์ฑ์ ์ค์นํ ์ ์์ต๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ด๋ฆฌ์ ๊ถํ์ด ์๋ ๊ฒฝ์ฐ ์กฐ์ง ๊ณ์ ์ GitHub ์ฑ์ ์ค์นํ ์ ์์ต๋๋ค. GitHub ์ฑ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ค์น๋์ด ์๊ณ ์กฐ์ง ๊ถํ์ด ํ์ํ ๊ฒฝ์ฐ ์กฐ์ง ์์ ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์น์ธํด์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์กฐ์ง์ ์์ ์๋ง ์กฐ์ง์์ GitHub ์ฑ์ ์ค์ ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ถ๊ฐ ์ฌ์ฉ์๊ฐ ์กฐ์ง์์ ์์ ํ GitHub ์ฑ์ ๊ฐ๋ฐ์ ์ค์ ์ ๋ณ๊ฒฝํ ์ ์๋๋ก ์์ ์๊ฐ GitHub ์ฑ ๊ด๋ฆฌ์ ๊ถํ์ ๋ถ์ฌํ ์ ์์ต๋๋ค. GitHub ์ฑ ๊ด๋ฆฌ์๋ ์ 3์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์กฐ์ง์์ GitHub ์ฑ ๊ด๋ฆฌ์๋ฅผ ์ถ๊ฐํ๊ณ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์กฐ์ง์ ์ญํ ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋ฐ๋๋ก ์ฌ์ฉ์๋ OAuth apps์ ๊ถํ์ ๋ถ์ฌํ์ฌ ์ฑ์ ์ธ์ฆ๋ ์ฌ์ฉ์ ์ญํ ์ ํ๋ ์ญํ ์ ๋ถ์ฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ธ์ฆ๋ ์ฌ์ฉ์์ ๋ํ ๋ชจ๋ ์๋ฆผ์ ์ฐพ๋ OAuth app์ ๊ถํ์ ๋ถ์ฌํ ์ ์์ต๋๋ค. ์ธ์ ๋ ์ง OAuth app์์ ๊ถํ์ ์ฒ ํํ ์ ์์ต๋๋ค.
์กฐ์ง ์์ ์๋ ์ธ๋ถ ํ๋ ฅ์๊ฐ ์น์ธ๋์ง ์์ OAuth apps ๋ฐ GitHub Apps์ ๋ํ ์ก์ธ์ค๋ฅผ ์์ฒญํ ์ ์๋๋ก ํ์ฉํ ์ง ์ฌ๋ถ๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ OAuth ์ฑ ๋ฐ GitHub ์ฑ ์ก์ธ์ค ์์ฒญ ์ ํ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๊ฒฝ๊ณ
OAuth app์์ ๋ชจ๋ ๊ถํ์ ์ทจ์ํ๋ฉด ๋ฐฐํฌ ํค๋ฅผ ํฌํจํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉ์๋ฅผ ๋์ ํ์ฌ ์์ฑํ ๋ชจ๋ SSH ํค๊ฐ ์ญ์ ๋ฉ๋๋ค.
GitHub ์ฑ | OAuth apps |
---|---|
์กฐ์ง์ GitHub ์ฑ์ ์ค์นํ๋ ค๋ฉด ์กฐ์ง ์์ ์์ด๊ฑฐ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ด๋ฆฌ์ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค. GitHub ์ฑ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ค์น๋์ด ์๊ณ ์กฐ์ง ๊ถํ์ด ํ์ํ ๊ฒฝ์ฐ ์กฐ์ง ์์ ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์น์ธํด์ผ ํฉ๋๋ค. | OAuth app์ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ์ ์์ต๋๋ค. |
๊ฐ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ GitHub ์ฑ์ ์ค์นํ ์ ์์ต๋๋ค. | OAuth app์ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ์ ์์ต๋๋ค. |
GitHub ์ฑ์ ์ ๊ฑฐํ๊ณ GitHub ์ฑ์ ์ก์ธ์ค ๊ถํ์ ์ ๊ฑฐํ๋ ค๋ฉด ์กฐ์ง ์์ ์, ๊ฐ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ ์์ ์์ฌ์ผ ํ๊ฑฐ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ด๋ฆฌ์ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค. | OAuth ์ก์ธ์ค ํ ํฐ์ ์ญ์ ํ์ฌ ์ก์ธ์ค๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค. |
GitHub ์ฑ ์ค์น๋ฅผ ์์ฒญํ๋ ค๋ฉด ์กฐ์ง ์์ ์์ด๊ฑฐ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ด๋ฆฌ์ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค. | ์กฐ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ ์ด ํ์ฑํ๋ ๊ฒฝ์ฐ ๋ชจ๋ ์กฐ์ง ๊ตฌ์ฑ์์ ์กฐ์ง์ OAuth app์ ์ค์นํ๋๋ก ์์ฒญํ ์ ์์ต๋๋ค. ์กฐ์ง ์์ ์๋ ์์ฒญ์ ์น์ธํ๊ฑฐ๋ ๊ฑฐ๋ถํด์ผ ํฉ๋๋ค. |
GitHub ์ฑ ๋ฐ OAuth apps์(๋) ๋ฌด์์ ์ก์ธ์คํ ์ ์๋์?
๊ณ์ ์์ ์๋ ๋ค๋ฅธ ๊ณ์ ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ์ง ์๊ณ ํ ๊ณ์ ์์ GitHub App์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ณ ์ฉ์ฃผ ์กฐ์ง์ ํ์ฌ ๋น๋ ์๋น์ค๋ฅผ ์ค์นํ ์ ์์ง๋ง ๊ฐ์ธ ๊ณ์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ํด๋น ๋น๋ ์๋น์ค ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ์ง ์์ ์ ์์ต๋๋ค. GitHub ์ฑ์ ์ค์ ํ ์ฌ๋์ด ์กฐ์ง์ ๋ ๋๋ ๊ฒฝ์ฐ ์ฑ์ด ์ค์น๋ ์ํ๋ก ์ ์ง๋ฉ๋๋ค.
๊ถํ์ด ๋ถ์ฌ๋ OAuth app์๋ ์ฌ์ฉ์ ๋๋ ์กฐ์ง ์์ ์์ ์ก์ธ์ค ๊ฐ๋ฅํ ๋ชจ๋ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ์์ต๋๋ค.
GitHub ์ฑ | OAuth apps |
---|---|
GitHub ์ฑ์ ์ค์นํ๋ฉด ์ฑ์ ์ ํํ ์ฌ์ฉ์ ๋๋ ์กฐ์ง ๊ณ์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ๋ถ์ฌ๋ฉ๋๋ค. | OAuth app์ ๊ถํ์ ๋ถ์ฌํ๋ฉด ์ฑ์ ์ก์ธ์ค ๊ฐ๋ฅํ ์ฌ์ฉ์์ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๊ฒ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ๊ทธ๋ค์ด ์ก์ธ์คํ ์ ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์์ต๋๋ค. |
๊ด๋ฆฌ์๊ฐ ์ค์น์์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํ๋ฉด GitHub ์ฑ์ ์ค์น ํ ํฐ์ด ๋ฆฌ์์ค์ ์ก์ธ์คํ ์ ์๊ฒ ๋ฉ๋๋ค. | OAuth ์ก์ธ์ค ํ ํฐ์ ์ฌ์ฉ์๊ฐ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ฐ๊ธฐ ๊ถํ์ ์์ ๋์ ๊ฐ์ด ์ก์ธ์ค ๊ถํ์ด ์์ค๋ ๋ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์๊ฒ ๋ฉ๋๋ค. |
์ค์น ์ก์ธ์ค ํ ํฐ์ ์ฑ ์์ฑ์๊ฐ ์ ํํ ๊ถํ์ด ์๋ ์ง์ ๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ ํ๋ฉ๋๋ค. | OAuth ์ก์ธ์ค ํ ํฐ์ ๋ฒ์๋ฅผ ํตํด ์ ํ๋ฉ๋๋ค. |
GitHub ์ฑ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ค์ ์ฝํ ์ธ ์ ์ก์ธ์คํ์ง ์๊ณ ๋ ๋ฌธ์ ๋ฐ ๋์ด์ค๊ธฐ ์์ฒญ์ ๋ํ ๋ณ๋ ์ก์ธ์ค๋ฅผ ์์ฒญํ ์ ์์ต๋๋ค. | OAuth apps์์ ๋ฌธ์ , ๋์ด์ค๊ธฐ ์์ฒญ ๋๋ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์์ ํ ๋ชจ๋ ํญ๋ชฉ์ ์ก์ธ์คํ๋ ค๋ฉด repo ๋ฒ์๋ฅผ ์์ฒญํด์ผ ํฉ๋๋ค. |
GitHub ์ฑ์๋ ์กฐ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ ์ด ์ ์ฉ๋์ง ์์ต๋๋ค. GitHub ์ฑ์ ์กฐ์ง ์์ ์๊ฐ ๋ถ์ฌํ ๋ฆฌํฌ์งํ ๋ฆฌ์๋ง ์ก์ธ์คํ ์ ์์ต๋๋ค. | ์กฐ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ ์ด ํ์ฑํ๋ ๊ฒฝ์ฐ ์กฐ์ง ์์ ์๋ง OAuth app ์ค์น ๊ถํ์ ๋ถ์ฌํ ์ ์์ต๋๋ค. ์ค์น๋ ๊ฒฝ์ฐ OAuth app์(๋) ์น์ธ๋ ์กฐ์ง ๋ด์์ ์กฐ์ง ์์ ์๊ฐ ๋ณด์ ํ ํ ํฐ์ ํ์๋๋ ๋ชจ๋ ๊ฒ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์ป์ต๋๋ค. |
GitHub ์ฑ์ ์ค์น๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ ๊ฑฐ๋ ๋ ์นํํฌ ์ด๋ฒคํธ๋ฅผ ๋ฐ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฑ ์์ฑ์๊ฐ ์กฐ์ง์ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ ๋ง๊ฑฐ๋ ์ ๊ฒ ๋ฐ์์ ๋ ์ ์ ์์ต๋๋ค. | OAuth apps์(๋) ์ฌ์ฉ์์ ๋ณ๊ฒฝ๋ ์ก์ธ์ค ๊ถํ ๋ถ์ฌ์ ๋ฐ๋ผ ์ธ์ ๋ ์ง ์กฐ์ง ๋๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์์ ์ ์์ต๋๋ค. OAuth app์(๋) ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ์์ค๋ ๋ ์ฌ์ฉ์์๊ฒ ์๋ฆฌ์ง ์์ต๋๋ค. |
ํ ํฐ ๊ธฐ๋ฐ ์๋ณ
์ฐธ๊ณ ํญ๋ชฉ
GitHub ์ฑ์ ์ฌ์ฉ์ ๊ธฐ๋ฐ ํ ํฐ์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฌ์ฉ์๋ฅผ ๋์ ํ์ฌ GitHub ์ฑ์ผ๋ก ์ธ์ฆ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
GitHub ์ฑ | OAuth apps |
---|---|
GitHub ์ฑ์ JSON ์น ํ ํฐ ํ์์ด ๋์ญ ์ธ์ธ ํ๋ผ์ด๋น ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ค์น ์ก์ธ์ค ํ ํฐ์ ์์ฒญํ ์ ์์ต๋๋ค. | OAuth app์(๋) ์น ์์ฒญ์ ํตํด ๋ฆฌ๋๋ ์ ํ ํ ์์ฒญ ํ ํฐ์ ์ก์ธ์ค ํ ํฐ์ผ๋ก ๊ตํํ ์ ์์ต๋๋ค. |
์ค์น ํ ํฐ์ @jenkins-bot์ฒ๋ผ ์ฑ์ GitHub ์ฑ ๋ด์ผ๋ก ์๋ณํฉ๋๋ค. | ์ก์ธ์ค ํ ํฐ์ @octocat์ฒ๋ผ ์ฑ์ ํ ํฐ์ ๋ถ์ฌํ ์ฌ์ฉ์๋ก ์ฑ์ ์๋ณํฉ๋๋ค. |
์ค์น ์ก์ธ์ค ํ ํฐ์ ๋ฏธ๋ฆฌ ์ ์๋ ์๊ฐ(ํ์ฌ 1์๊ฐ) ํ์ ๋ง๋ฃ๋ฉ๋๋ค. | OAuth ํ ํฐ์ ๊ณ ๊ฐ์ด ์ฒ ํํ ๋๊น์ง ํ์ฑ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. |
์กฐ์ง ๋๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ค์น๋ GitHub Apps์(๋) ์ค์น ํ์์ ๋ฐ๋ผ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋๋ ์๋ ์ ํ์ด ์ ์ฉ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ GitHub ์ฑ์ ํธ๋ํฝ๋ฅ ์ ํ์(๋ฅผ) ์ฐธ์กฐํ์ธ์. | OAuth ํ ํฐ์ ์ฌ์ฉ์์ ํธ๋ํฝ๋ฅ ์ ํ(์๊ฐ๋น 5,000๊ฐ ์์ฒญ)์ ์ฌ์ฉํฉ๋๋ค. |
์๋ ์ ํ ์ฆ๊ฐ๋ GitHub ์ฑ ์์ค(๋ชจ๋ ์ค์น์ ์ํฅ์ ์ค) ๋ฐ ๊ฐ๋ณ ์ค์น ์์ค์์ ๋ถ์ฌํ ์ ์์ต๋๋ค. | ํธ๋ํฝ๋ฅ ์ ํ ์ฆ๋๋ OAuth app์ ๋ฐ๋ผ ํ์ฉ๋ฉ๋๋ค. ํด๋น OAuth app์ ๋ถ์ฌ๋ ๋ชจ๋ ํ ํฐ์ ์ฆ๊ฐ๋ ์ ํ์ ๋ฐ์ต๋๋ค. |
GitHub Apps์(๋) ์ฌ์ฉ์๋ฅผ ๋์ ํด ์ธ์ฆํ ์ ์์ต๋๋ค. ๊ถํ์ ๋ถ์ฌํ๋ ํ๋ฆ์ OAuth app ๊ถํ ๋ถ์ฌ ํ๋ฆ๊ณผ ๋์ผํฉ๋๋ค. ์ฌ์ฉ์ ์ก์ธ์ค ํ ํฐ์ ๋ง๋ฃ๋ ์ ์์ผ๋ฉฐ ์๋ก ๊ณ ์นจ ํ ํฐ์ผ๋ก ๊ฐฑ์ ํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฌ์ฉ์ ์ก์ธ์ค ํ ํฐ ์๋ก ๊ณ ์นจ ๋ฐ ์ฌ์ฉ์๋ฅผ ๋์ ํ์ฌ GitHub ์ฑ์ผ๋ก ์ธ์ฆ์(๋ฅผ) ์ฐธ์กฐํ์ธ์. | OAuth apps์์ ์ฌ์ฉํ๋ OAuth ํ๋ฆ์ผ๋ก ์ฌ์ฉ์๋ฅผ ๋์ ํ์ฌ OAuth app์ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค. GitHub App ์ฌ์ฉ์ ์ก์ธ์ค ํ ํฐ์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ๋ฆ๊ณผ ๋์ผํฉ๋๋ค. |
๋ฆฌ์์ค์ ์ฌ์ฉ ๊ถํ ์์ค ์์ฒญ
OAuth apps๊ณผ(์) ๋ฌ๋ฆฌ GitHub ์ฑ์๋ ํ์ํ ๊ถํ์ ๋ํด์๋ง ์ก์ธ์ค๋ฅผ ์์ฒญํ ์ ์๋ ๋์ ๊ถํ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด CI(์ฐ์ ํตํฉ) GitHub ์ฑ์ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฝํ ์ธ ์ ๋ํ ์ฝ๊ธฐ ๊ถํ์ ์์ฒญํ๊ณ ์ํ API์ ๋ํ ์ฐ๊ธฐ ๊ถํ์ ์์ฒญํ ์ ์์ต๋๋ค. ๋ ๋ค๋ฅธ GitHub ์ฑ์ ์ฝ๋์ ๋ํ ์ฝ๊ธฐ ๋๋ ์ฐ๊ธฐ ๊ถํ์ ๊ฐ์ง ์ ์์ง๋ง ์ฌ์ ํ ๋ฌธ์ , ๋ ์ด๋ธ ๋ฐ ๋ง์ผ์คํค์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. OAuth apps์(๋) ์ธ๋ถํ๋ ๊ถํ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Access | GitHub ์ฑ(read ๋๋ write ๊ถํ) | OAuth apps |
---|---|---|
ํผ๋ธ๋ฆญ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ก์ธ์ค | ์ค์นํ๋ ๋์ ํผ๋ธ๋ฆญ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ํํด์ผ ํฉ๋๋ค. | public_repo ๋ฒ์์
๋๋ค. |
๋ฆฌํฌ์งํ ๋ฆฌ ์ฝ๋/์ฝํ ์ธ ์ ๋ํ ์ก์ธ์ค | ๋ฆฌํฌ์งํ ๋ฆฌ ์ฝํ ์ธ | repo ๋ฒ์์
๋๋ค. |
๋ฌธ์ , ๋ ์ด๋ธ ๋ฐ ๋ง์ผ์คํค์ ๋ํ ์ก์ธ์ค | ๋ฌธ์ | repo ๋ฒ์์
๋๋ค. |
๋์ด์ค๊ธฐ ์์ฒญ, ๋ ์ด๋ธ ๋ฐ ๋ง์ผ์คํค์ ๋ํ ์ก์ธ์ค | ๋์ด์ค๊ธฐ ์์ฒญ | repo ๋ฒ์์
๋๋ค. |
์ปค๋ฐ ์ํ์ ๋ํ ์ก์ธ์ค(CI ๋น๋์ ๊ฒฝ์ฐ) | ์ปค๋ฐ ์ํ | repo:status ๋ฒ์์
๋๋ค. |
๋ฐฐํฌ ๋ฐ ๋ฐฐํฌ ์ํ์ ๋ํ ์ก์ธ์ค | ๋ฐฐํฌ | repo_deployment ๋ฒ์์
๋๋ค. |
์นํํฌ๋ฅผ ํตํ ์ด๋ฒคํธ ์์ | GitHub ์ฑ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์นํํฌ๊ฐ ํฌํจ๋ฉ๋๋ค. | write:repo_hook ๋๋ write:org_hook ๋ฒ์์
๋๋ค. |
๋ฆฌํฌ์งํ ๋ฆฌ ๊ฒ์
GitHub ์ฑ | OAuth apps |
---|---|
GitHub ์ฑ์ /installation/repositories ๋ฅผ ๋ณด๊ณ ์ค์น์์ ์ก์ธ์คํ ์ ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. | OAuth apps์(๋) ์ก์ธ์ค ๊ฐ๋ฅํ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ฌ์ฉ์ ๋ณด๊ธฐ์ ๊ฒฝ์ฐ /user/repos ๋ฅผ, ์กฐ์ง ๋ณด๊ธฐ์ ๊ฒฝ์ฐ /orgs/:org/repos ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. |
GitHub ์ฑ์ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์ค์น์์ ์ถ๊ฐ๋๊ฑฐ๋ ์ ๊ฑฐ๋ ๋ ์นํํฌ๋ฅผ ๋ฐ์ต๋๋ค. | OAuth apps์(๋) ์กฐ์ง ๋ด์์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค ๋ ์๋ฆผ์ ๋ํ ์กฐ์ง ์นํํฌ๋ฅผ ๋ง๋ญ๋๋ค. |
์นํํฌ
GitHub ์ฑ | OAuth apps |
---|---|
๊ธฐ๋ณธ์ ์ผ๋ก GitHub ์ฑ์๋ ์ก์ธ์ค ๊ถํ์ด ์๋ ๋ชจ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํด ์์ ํ๋๋ก ๊ตฌ์ฑ๋ ์ด๋ฒคํธ๋ฅผ ์์ ํ๋ ๋จ์ผ ์นํํฌ๊ฐ ์์ต๋๋ค. | OAuth apps์(๋) ์ด๋ฒคํธ๋ฅผ ์์ ํ๋ ๋ฐ ํ์ํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ง๋ค ๋ฆฌํฌ์งํ ๋ฆฌ ์นํํฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์นํํฌ ๋ฒ์๋ฅผ ์์ฒญํฉ๋๋ค. |
GitHub ์ฑ์ ์กฐ์ง ๊ตฌ์ฑ์์ ๊ถํ์ด ์๋ ํน์ ์กฐ์ง ์์ค ์ด๋ฒคํธ๋ฅผ ๋ฐ์ต๋๋ค. | OAuth apps์(๋) ์กฐ์ง ์์ค ์ด๋ฒคํธ๋ฅผ ์์ ํ๋ ๋ฐ ํ์ํ ์กฐ์ง๋ง๋ค ์กฐ์ง ์นํํฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์กฐ์ง ์นํํฌ ๋ฒ์๋ฅผ ์์ฒญํฉ๋๋ค. |
GitHub ์ฑ์ ์ ๊ฑฐํ๋ฉด ์นํํฌ๊ฐ ์๋์ผ๋ก ๋นํ์ฑํ๋ฉ๋๋ค. | OAuth app์ ์ก์ธ์ค ํ ํฐ์ด ์ญ์ ๋๊ณ ์๋์ผ๋ก ์ ๋ฆฌํ ๋ฐฉ๋ฒ์ด ์์ผ๋ฉด ์นํํฌ๊ฐ ์๋์ผ๋ก ๋นํ์ฑํ๋์ง ์์ต๋๋ค. ์ฌ์ฉ์์๊ฒ ์ด ์์ ์ ์๋์ผ๋ก ์ํํ๋๋ก ์์ฒญํด์ผ ํฉ๋๋ค. |
Git ์ก์ธ์ค
GitHub ์ฑ | OAuth apps |
---|---|
GitHub ์ฑ์ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฝํ ์ธ ๊ถํ์ ์์ฒญํ๊ณ ์ค์น ์ก์ธ์ค ํ ํฐ์ ์ฌ์ฉํ์ฌ HTTP ๊ธฐ๋ฐ Git์ ํตํด ์ธ์ฆํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ GitHub ์ฑ์ ๋ํ ์ค์น ์ก์ธ์ค ํ ํฐ ์์ฑ์(๋ฅผ) ์ฐธ์กฐํ์ธ์. | OAuth apps์ด write:public_key ๋ฒ์๋ฅผ ์์ฒญํ๊ณ API๋ฅผ ํตํด ๋ฐฐํฌ ํค๋ฅผ ๋ง๋ญ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํด๋น ํค๋ฅผ ์ฌ์ฉํ์ฌ Git ๋ช
๋ น์ ์ํํ ์ ์์ต๋๋ค. |
ํ ํฐ์ HTTP ์ํธ๋ก ์ฌ์ฉ๋ฉ๋๋ค. | ํ ํฐ์ HTTP ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. |
์ปดํจํฐ ๊ณ์ ๊ณผ ๋ด ๊ณ์ ๋น๊ต
๋จธ์ ์ฌ์ฉ์ ๊ณ์ ์ GitHub์ ์ฌ์ฉ์ ์์คํ ์ ์ฌ์ฉํ์ฌ ์๋ํ๋ ์์คํ ์ ๋ถ๋ฆฌํ๋ OAuth ๊ธฐ๋ฐ ๊ฐ์ธ ๊ณ์ ์ ๋๋ค.
๋ฐ๋ฉด ๋ด ๊ณ์ ์ GitHub ์ฑ๊ณผ ๊ด๋ จ์ด ์์ผ๋ฉฐ ๋ชจ๋ GitHub ์ฑ์ ๊ธฐ๋ณธ ์ ๊ณต๋ฉ๋๋ค.
GitHub ์ฑ | OAuth apps |
---|---|
GitHub ์ฑ ๋ด์ GitHub Enterprise ์ฌ์ฉ์๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. | ์ปดํจํฐ ์ฌ์ฉ์ ๊ณ์ ์ GitHub Enterprise ์ฌ์ฉ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. |
GitHub ์ฑ ๋ด์๋ ์ํธ๊ฐ ๋ถ์ฌ๋์ง ์์ผ๋ฏ๋ก ๊ณ ๊ฐ์ ์ง์ ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค. | ์ปดํจํฐ ์ฌ์ฉ์ ๊ณ์ ์๋ ๊ณ ๊ฐ์ ์ํด ๊ด๋ฆฌ ๋ฐ ๋ณดํธ๋ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ํธ๊ฐ ๋ถ์ฌ๋ฉ๋๋ค. |