ROPC(๋ฆฌ์์ค ์์ ์ ๋น๋ฐ๋ฒํธ ์๊ฒฉ ์ฆ๋ช )๋ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฆฌ์์ค ์์ ์์ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ๊ตํํ์ฌ ๋ณดํธ๋ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ํ ํฐ์ ์์ ํ๊ฒ ์ป์ ์ ์๋๋ก ํ๋ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ์ด ์ธ์ฆ ํ๋ฆ์ OAuth 2.0 ํ๋ ์์ํฌ์ ์ ์๋์ด ์์ผ๋ฉฐ API ๋ฐ ๊ธฐํ ๋ฐฑ์๋ ์๋น์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ณดํธํ๋ ๋ฐ ํนํ ์ ์ฉํฉ๋๋ค. ROPC๋ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ์ฌ์ฉ์ ์๊ฒฉ ์ฆ๋ช ์ ์ฒ๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ธ์ฆ ์ฝ๋ ๋ถ์ฌ ๋ฐ ์์์ ๋ถ์ฌ์ ๊ฐ์ ๋ค๋ฅธ ์ธ์ฆ ํ๋ฆ์ ๋นํด ๋ ์์ ํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ง๋ง ๋ ๊ฑฐ์ ์ ํ๋ฆฌ์ผ์ด์ , ์ ๋ขฐํ ์ ์๋ ์์ฌ ํด๋ผ์ด์ธํธ์ ๊ฐ์ ํน์ ์๋๋ฆฌ์ค์์๋ ์ฌ์ ํ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. , ์ฌ์ฉ์ ์ํธ ์์ฉ ๊ธฐ๋ฅ์ด ์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฑ์ด ์์ต๋๋ค.
ROPC๋ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฆฌ์์ค ์์ ์์ ์๊ฒฉ ์ฆ๋ช (์: ์ฌ์ฉ์ ์ด๋ฆ ๋ฐ ๋น๋ฐ๋ฒํธ)์ ์์งํ์ฌ ์ธ์ฆ ์๋ฒ๋ก ์ ์กํ๋๋ก ํ๋ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์๋ฒ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ด ์์คํ ์ ์ ์ฅ๋ ์ฌ์ฉ์ ์ ๋ณด์ ๋ํด ์ด๋ฌํ ์๊ฒฉ ์ฆ๋ช ์ ์ ํจ์ฑ์ ๊ฒ์ฌํฉ๋๋ค. ๊ฒ์ฆ์ ์ฑ๊ณตํ๋ฉด ์๋ฒ๋ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ก์ธ์ค ํ ํฐ์ ๋ฐ๊ธํฉ๋๋ค. ์ด ํ ํฐ์ ๋ฆฌ์์ค ์์ ์๋ฅผ ๋์ ํ์ฌ ๋ฆฌ์์ค ์๋ฒ์์ ๋ณดํธ๋ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ก์ธ์ค ํ ํฐ์ ์ฌ์ฉ์์ ID, ๊ถํ ๋ฐ ๊ธฐํ ๊ด๋ จ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์บก์ํํ์ฌ ๋ฆฌ์์ค ์๋ฒ๊ฐ ์ธ๋ถํ๋ ์ก์ธ์ค ์ ์ด ๋ฐ ๋ณด์ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋๋ก ํฉ๋๋ค.
ROPC์ ์ฃผ์ ์ฅ์ ์ค ํ๋๋ ๋จ์์ฑ์ ๋๋ค. ์ฌ์ฉ์ ์ํธ ์์ฉ์ด ์ต์ํ๋๊ณ ํค๋๋ฆฌ์ค ์์คํ , ๋ช ๋ น์ค ๋๊ตฌ, ์ต์ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ์ง์ํ์ง ์๋ ๋ ๊ฑฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋กฏํ ๋ค์ํ ์ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ํตํฉ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฐ๋ฐ์๊ฐ ๋ณต์กํ ์ธ์ฆ ๋ ผ๋ฆฌ์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํ์๊ฐ ์์ผ๋ฏ๋ก ์ด๋ฌํ ๋จ์์ฑ์ผ๋ก ์ธํด ๊ฐ๋ฐ ์ฃผ๊ธฐ๊ฐ ๋นจ๋ผ์ง๊ณ ๋น์ฉ์ด ์ ๊ฐ๋ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ROPC์์๋ ํด๋ผ์ด์ธํธ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉ์ ์๊ฒฉ ์ฆ๋ช ์ ์ง์ ์ฒ๋ฆฌํด์ผ ํ๋ฏ๋ก ์ด๋ฌํ ๋จ์์ฑ์๋ ๋ณด์ ์ํ์ด ๋ด์ฌ๋์ด ์์ต๋๋ค. ์ด๋ฅผ ์ํด์๋ ์ํธํ, ๋ณด์ ์ฝ๋ฉ ๊ดํ, ์ ๊ธฐ ๋ณด์ ๊ฐ์ฌ ๋ฑ ์ ์ก ๋ฐ ์ ์ฅ ์ค์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ธฐ ์ํ ๊ฐ๋ ฅํ ๋ณด์ ์กฐ์น๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์ํ์ผ๋ก ์ธํด ROPC๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค๋ฅธ ์ธ์ฆ ๋ฐฉ๋ฒ์ด ๊ฐ๋ฅํ์ง ์๊ฑฐ๋ ์ค์ฉ์ ์ด์ง ์๊ณ ๋ฆฌ์์ค ์์ ์์ ์๊ฒฉ ์ฆ๋ช ์ผ๋ก ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ขฐํ ์ ์๋ ์๋๋ฆฌ์ค์๋ง ๊ถ์ฅ๋ฉ๋๋ค.
AppMasterno-code ํ๋ซํผ์ ๋งฅ๋ฝ์์ ROPC๋ ์น, ๋ชจ๋ฐ์ผ ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ธ์ฆ ์ ๋ต์ ์ผ๋ถ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค. AppMaster ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ ์ ๊ณ ๋ชจ๋ฒ ์ฌ๋ก ๋ฐ ๋ณด์ ํ์ค์ ๋ฐ๋ผ ์์ค ์ฝ๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ๋ฐ API ๋ฌธ์๋ฅผ ์๋์ผ๋ก ์์ฑํ์ฌ ROPC๋ฅผ ์์ ํ๊ฒ ๊ตฌํํ๊ณ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก AppMaster ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ถํ๊ฐ ๋์ ๊ธฐ์ ์ฌ์ฉ ์ฌ๋ก์์๋ ํ์ํ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค.
์๋ฅผ ๋ค์ด ROPC๋ฅผ ์ฌ์ฉํ๋ AppMaster ์์ฑ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธ์ฆ์ ์ํ ๋ณด์ API endpoint ๋ ธ์ถํ์ฌ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉ์ ์๊ฒฉ ์ฆ๋ช ์ ์ ์กํ๊ณ ๊ทธ ๋๊ฐ๋ก ์ก์ธ์ค ํ ํฐ์ ๋ฐ์ ์ ์๋๋ก ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด ์ก์ธ์ค ํ ํฐ์ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฆฌ์์ค ์๋ฒ๋ก๋ถํฐ ๋ณดํธ๋ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์ด๋ ๋ค์ ํ ํฐ์ ์ธ์ฝ๋ฉ๋ ์ฌ์ฉ์ ๊ถํ ๋ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ก์ธ์ค ์ ์ด๋ฅผ ์ํํฉ๋๋ค.
๋ํ AppMaster ์๋ ์ฝ๋ฉ ์์ด๋ ๊ฐ๋ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ROPC๋ฅผ ํฌํจํ ์ธ์ฆ ํ๋ฆ์ ์๊ฐ์ ์ผ๋ก ์ค๊ณํ๊ณ ๊ตฌ์ฑํ ์ ์๋ ์ง๊ด์ ์ธ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์๋ ํ๋ซํผ์ drag-and-drop ์ธํฐํ์ด์ค, BP Designer ๋ฐ ๋ด์ฅ ํ ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ์ธ์ฆ ๋ ผ๋ฆฌ, ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ฐ API endpoints ์ ์ํ๊ฒ ๊ตฌ์ถํ๊ณ ์ฌ์ฉ์ ์ ์ํ์ฌ ๊ฐ๋ฐ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ROPC(๋ฆฌ์์ค ์์ ์ ๋น๋ฐ๋ฒํธ ์๊ฒฉ ์ฆ๋ช )๋ ๋ค๋ฅธ OAuth 2.0 ํ๋ฆ์ ๋นํด ๋ณด์์ด ๋จ์ด์ง์ง๋ง ํน์ ์ํฉ์์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๊ฐ๋จํ๋ฉด์๋ ๊ฐ๋ ฅํ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ๋๋ค. AppMasterno-code ํ๋ซํผ์ ๊ธฐ๋ฅ์ ํ์ฉํจ์ผ๋ก์จ ์ฌ์ฉ์๋ ์น, ๋ชจ๋ฐ์ผ ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ROPC ๊ธฐ๋ฐ ์ธ์ฆ์ ์์ ํ๊ฒ ๊ตฌํ ๋ฐ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ ๊ฐ๋ฐ ๋น์ฉ๊ณผ ์๊ฐ์ ์ต์ํํ๋ ๋์์ ํ์ํ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ ๋ณด์ฅํ ์ ์์ต๋๋ค.