[ÃßõÀÇ ±Û]
³»¿ëÀÌ ºñ¾î ÀÖ´Â ÆäÀÌÁöº¸´Ù ¾î·Á¿î °ÍÀº ¾ø´Ù. ±×°ÍÀº ´ç½ÅÀ» ºþÈ÷ ÃÄ´Ùº¸¸ç Á¶·ÕÇÑ´Ù. ¿©·¯ºÐÀº ¹«¾ùÀ» ÇÏ°í ½ÍÀºÁö ¾Ë°í ÀÖÀ¸¸ç, ÇØ³»°í ½ÍÀº ¸íÈ®ÇÏ°í ¸ÚÁø ±×¸²À» °®°í ÀÖ´Ù. »ó»ç³ª °í°´ÀÌ ¿©·¯ºÐÀÌ ¸¸µé¾î³½ ±â»ÝÀ¸·Î ȲȦÇÏ°Ô ¿ôÀ½Áþ´Â ¸ð½Àµµ ±×¸± ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÇÏÁö¸¸ ¹®Á¦´Â ¿©·¯ºÐ ¾Õ¿¡ ºó ÆäÀÌÁö°¡ ³õ¿© ÀÖ´Ù´Â °ÍÀÌ´Ù.
±×·¡¼ µµ±¸¿¡ ¼ÕÀ» »¸°Ô µÈ´Ù. ÀÌ Ã¥À» Àаí ÀÖ´Â »ç¶÷Àº °³¹ßÀÚ³ª ID °ü¸® Àü¹®°¡ÀÏ °¡´É¼ºÀÌ Å©´Ù. ¾î´À ÂÊÀÌµç ¹«¾ùº¸´Ù º¸¾ÈÀÌ Áß¿äÇÏ°í ±¸ÃàÇϰíÀÚ ÇÏ´Â °ÍÀ» º¸È£ÇÏ±æ ¿øÇÒ °ÍÀÌ´Ù....
´õº¸±â
[ÃßõÀÇ ±Û]
³»¿ëÀÌ ºñ¾î ÀÖ´Â ÆäÀÌÁöº¸´Ù ¾î·Á¿î °ÍÀº ¾ø´Ù. ±×°ÍÀº ´ç½ÅÀ» ºþÈ÷ ÃÄ´Ùº¸¸ç Á¶·ÕÇÑ´Ù. ¿©·¯ºÐÀº ¹«¾ùÀ» ÇÏ°í ½ÍÀºÁö ¾Ë°í ÀÖÀ¸¸ç, ÇØ³»°í ½ÍÀº ¸íÈ®ÇÏ°í ¸ÚÁø ±×¸²À» °®°í ÀÖ´Ù. »ó»ç³ª °í°´ÀÌ ¿©·¯ºÐÀÌ ¸¸µé¾î³½ ±â»ÝÀ¸·Î ȲȦÇÏ°Ô ¿ôÀ½Áþ´Â ¸ð½Àµµ ±×¸± ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÇÏÁö¸¸ ¹®Á¦´Â ¿©·¯ºÐ ¾Õ¿¡ ºó ÆäÀÌÁö°¡ ³õ¿© ÀÖ´Ù´Â °ÍÀÌ´Ù.
±×·¡¼ µµ±¸¿¡ ¼ÕÀ» »¸°Ô µÈ´Ù. ÀÌ Ã¥À» Àаí ÀÖ´Â »ç¶÷Àº °³¹ßÀÚ³ª ID °ü¸® Àü¹®°¡ÀÏ °¡´É¼ºÀÌ Å©´Ù. ¾î´À ÂÊÀÌµç ¹«¾ùº¸´Ù º¸¾ÈÀÌ Áß¿äÇÏ°í ±¸ÃàÇϰíÀÚ ÇÏ´Â °ÍÀ» º¸È£ÇÏ±æ ¿øÇÒ °ÍÀÌ´Ù.
OAuth¿¡ ´ëÇØ µé¾îº» ÀûÀÌ ÀÖÀ» °ÍÀÌ´Ù. OAuth°¡ ¸®¼Ò½º, ƯÈ÷, API¸¦ º¸È£ÇÏ´Â °Í°ú °ü·ÃÀÌ ÀÖ´Ù´Â °Íµµ ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù. OAuth´Â ¸Å¿ì ÀαⰡ ¸¹°í ¹«¾ùÀ̵ç ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¹«¾ùÀ̵ç ÇÒ ¼ö ÀÖ´Â °ÍÀÇ ¹®Á¦´Â ¹º°¡¸¦ ÇÏ±â ¾î·Æ°Ô ¸¸µç´Ù´Â °ÍÀÌ´Ù. ±×·± °ÍÀº ¶Ç ÇϳªÀÇ ºó ÆäÀÌÁö¶ó°í ÇÒ ¼ö ÀÖ´Ù.
Àú½ºÆ¾°ú ¾ÈÅä´Ï¿À°¡ ¾´ ÀÌ Ã¥À» Àо±â ¹Ù¶õ´Ù. ¹«¾ùÀ̵ç ÇÒ ¼ö ÀÖ´Â ÀÏÀ» ÇÒ ¶§ ±×°ÍÀÌ Á¤Ã¼µÇ´Â °ÍÀ» ¸·´Â °¡Àå ½¬¿î ¹æ¹ýÀº ±×³É ¹º°¡¸¦ ½ÃÀÛÇÏ´Â °ÍÀÌ´Ù. ÀÌ Ã¥Àº OAuth°¡ ¹«¾ùÀÎÁö¸¦ ¼³¸íÇϰí ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó OAuth ÇÁ·Î¼¼½º Àü¹Ý¿¡ °ÉÃÄ ¹«¾ùÀ» ÇØ¾ß ÇÏ´ÂÁö ¾Ë·ÁÁÖ°í ÀÖ´Ù.
°á±¹ OAuth¸¦ µµ±¸·Î¼ ±íÀÌ ÀÌÇØÇÏ°Ô µÇ°í ´õ ÀÌ»ó ¿©·¯ºÐ ¾Õ¿¡ ºó ÆäÀÌÁö°¡ ³õ¿© ÀÖÁö ¾Ê°Ô µÉ °ÍÀÌ´Ù. Áï, ¾ÕÀ¸·Î ¸ÚÁø °ÍÀ» Àü´ÞÇÒ Áغñ°¡ µÅ ÀÖÀ» °ÍÀÌ´Ù.
OAuth´Â ¸Å¿ì °·ÂÇÑ µµ±¸°í, ÀÌ °·ÂÇÔÀº À¯¿¬ÇÔ¿¡¼ ºñ·ÔµÈ´Ù. À¯¿¬ÇÔÀº Á¾Á¾ ÀÚ½ÅÀÌ ÇÏ°í ½ÍÀº °ÍÀ» ÇÒ ¼ö ÀÖ´Â ´É·Â»Ó¸¸ ¾Æ´Ï¶ó ¾ÈÀüÇÏÁö ¾ÊÀº ¹æ½ÄÀ¸·Î ¹º°¡¸¦ ¼öÇàÇÒ ¼ö ÀÖ´Â ´É·ÂÀ» ÀǹÌÇÑ´Ù.
OAuth´Â Áß¿äÇÑ µ¥ÀÌÅÍ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â API¿¡ ´ëÇÑ Á¢±ÙÀ» ÅëÁ¦Çϱ⠶§¹®¿¡, ºñÁ¤»óÀûÀÎ ÆÐÅÏÀ» ÇÇÇÏ°í ¸ð¹üÀûÀÎ »ç·Ê¸¦ »ç¿ëÇØ ¾ÈÀüÇÑ ¹æ¹ýÀ¸·Î OAuth¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. ´Ù¸£°Ô ¸»Çϸé, ¾î¶² ½ÄÀ¸·Îµç ¾î¶² °ÍÀ» ÇÒ ¼ö ÀÖ´Â À¯¿¬ÇÔÀ» °®°í ÀÖ´Ù°í ÇØ¼ ¹Ýµå½Ã ±×·¸°Ô ÇØ¾ß ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù.
OAuth¸¦ »ç¿ëÇØ¾ß ÇÏ´Â ¶Ç ÇÑ °¡Áö ÀÌÀ¯´Â API È£ÃâµéÀ» Á¶Á¤ÇÏ°í ±× °á°ú ¾î¶² ¸ÚÁø °ÍÀ» ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ½ÇÇöÇϰíÀÚ ÇÏ´Â ¸ÚÁø »ý°¢À» ÆäÀÌÁö¿¡ °¡µæ ä¿ï ¼ö ÀÖ´Ù. OAuth´Â ±× ±æ·Î °¡±â À§ÇÑ ¹æ¹ýÀ» Á» ´õ ¾ÈÀüÇÏ°Ô ÀεµÇØÁØ´Ù.
°¨»çÇϰԵµ, ÀúÀÚµéÀº ÇØ¾ß ÇÒ °Í°ú ÇÏÁö ¸»¾Æ¾ß ÇÒ °Í¿¡ ´ëÇÑ ½Ç¿ëÀûÀÎ °¡À̵带 Á¦°øÇØÁÖ°í ÀÖ´Ù. ±×µéÀº ¿©·¯ºÐÀÌ ¡°±×³É À̰ÍÀ» ³¡³»°í ½Í´Ù¡±¿Í ¡°À̰ÍÀÌ ¾ÈÀüÇÑÁö È®ÀÎÇÏ°í ½Í´Ù¡±¶ó´Â »ý°¢À» ¸ðµÎ °®°í ÀÖ´Ù´Â °ÍÀ» ¾Ë°í ÀÖ´Ù.
¿©·¯ºÐÀÇ ¸Ó¸´¼Ó°ú ¿©·¯ºÐ °í°´ÀÇ ¼Õ¿¡ ÀÇÇØ °¡µæ ä¿öÁø ÆäÀÌÁö¸¦ À§ÇÑ ÀÛ¾÷Àº °á±¹ ±×·¸°Ô ÈûµéÁö ¾Ê´Ù´Â °ÍÀ» ±ú´Ý°Ô µÉ °ÍÀÌ´Ù.
[ÀÌ Ã¥ÀÇ ±¸¼º]
1Àå, ¡®¾Èµå·ÎÀÌµå ¼Ò°³¡¯¿¡¼´Â OAuth 2.0 ÇÁ·ÎÅäÄÝÀÇ °³¿ä¿Í OAuth ÀÌÀüÀÇ API º¸¾È°ú OAuth°¡ ¸¸µé¾îÁø µ¿±â¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.
2Àå, ¡®È¿°úÀûÀÎ UI¿¡´Â ¹«¾ùÀÌ ÇÊ¿äÇÒ±î?¡¯¿¡¼´Â OAuth 2.0ÀÇ ÇÙ½ÉÀûÀÎ ±×·£Æ® ŸÀÔÀÌ¸é¼ °¡Àå ³Î¸® »ç¿ëµÇ´Â Àΰ¡ ÄÚµå ±×·£Æ® ŸÀÔ¿¡ ´ëÇØ ÀÚ¼¼È÷ ´Ù·é´Ù.
3Àå, ¡®UI ´õ ¾Ë¾Æº¸±â - ÇÁ·¹±×¸ÕÆ®, ¸®¼Ò½º, »ç¿ëÀÚ ÀԷ¡¯ºÎÅÍ 5Àå, ¡®¹ø¶àÀÌ´Â ¾ÆÀ̵ð¾î¸¦ »ó¼¼ ½ºÄÉÄ¡·Î ¹Ù²Ù±â¡¯±îÁö´Â °£´ÜÇÏÁö¸¸ ¸ðµç ±â´ÉÀ» °®Ãá OAuth 2.0 Ŭ¶óÀÌ¾ðÆ®¿Í º¸È£µÈ ¸®¼Ò½º ±×¸®°í Àΰ¡ ¼¹ö¸¦ ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
6Àå, ¡®½ºÄÉÄ¡¸¦ ¿ÍÀ̾îÇÁ·¹ÀÓÀ¸·Î ¹Ù²Ù±â¡¯¿¡¼´Â Àΰ¡ Äڵ尡 ¾Æ´Ñ ´Ù¸¥ À¯ÇüÀÇ ±×·£Æ® ŸÀÔ°ú ³×ÀÌÆ¼ºê ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇØ »ìÆìº»´Ù.
7Àå, ¡®ÇÁ·ÎÅäŸÀÔ ¸¸µé±â¡¯ºÎÅÍ 9Àå, ¡®UI ÃÖÀûÈÇϱ⡯±îÁö´Â OAuth 2.0 Ŭ¶óÀÌ¾ðÆ®¿Í º¸È£µÈ ¸®¼Ò½º ±×¸®°í Àΰ¡ ¼¹öÀÇ ÀϹÝÀûÀÎ º¸¾È Ãë¾àÁ¡°ú ±×°ÍÀ» ÇÇÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ³íÀÇÇÑ´Ù.
10Àå, ¡®¸ð¹ü »ç·Ê¿Í ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾È¡¯¿¡¼´Â OAuth 2.0 Bearer ÅäÅ«°ú Àΰ¡ Äڵ忡 ´ëÇÑ °ø°Ý°ú º¸¾È Ãë¾àÁ¡ ±×¸®°í ¹æÁö ¹æ¹ý¿¡ ´ëÇØ ³íÀÇÇÑ´Ù.
11Àå, ¡®OAuth ÅäÅ«¡¯¿¡¼´Â ÀÎÄÚµù¿¡ »ç¿ëµÇ´Â JWT(JSON Web Token), JOSE ¸ÞÄ¿´ÏÁò, ÅäÅ« ÀÎÆ®·Î½ºÆå¼Ç, ÅäÅ« Æó±â¿¡ ´ëÇØ »ìÆìº»´Ù.
12Àå, ¡®Å¬¶óÀÌ¾ðÆ® µ¿Àû µî·Ï¡¯¿¡¼´Â µ¿Àû Ŭ¶óÀÌ¾ðÆ® µî·Ï°ú ±×°ÍÀÌ OAuth 2.0 »ýŰ迡 ¾î¶»°Ô ¿µÇâÀ» ¹ÌÄ¡´ÂÁö¿¡ ´ëÇØ »ìÆìº»´Ù.
13Àå, ¡®OAuth 2.0¿¡¼ÀÇ »ç¿ëÀÚ ÀÎÁõ¡¯¿¡¼´Â OAuth 2.0ÀÌ ÀÎÁõ ÇÁ·ÎÅäÄÝÀÌ ¾Æ´Ñ ÀÌÀ¯¿Í OpenID Ä¿³ØÆ®¸¦ ÀÌ¿ëÇØ OAuth ±â¹ÝÀ¸·Î ÀÎÁõ ÇÁ·ÎÅäÄÝÀ» ±¸ÃàÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ½ÇÆìº»´Ù.
14Àå, ¡®OAuth 2.0À» ÀÌ¿ëÇÏ´Â ÇÁ·ÎÅäÄݰú ÇÁ·ÎÆÄÀÏ¡¯¿¡¼´Â OAuth 2.0 ±â¹Ý À§¿¡ ±¸ÃàµÇ¸ç »ç¿ëÀÚ °£ °øÀ¯¸¦ Áö¿øÇÏ´Â UMA(User Managed Access) ÇÁ·ÎÅä, OpenID Ä¿³ØÅÍ, OAuth 2.0ÀÇ HEART, iGov ÇÁ·ÎÆÄÀÏ, ±×¸®°í ÇØ´ç ÇÁ·ÎÅäÄݵéÀÌ Æ¯Á¤ »ê¾÷¿¡ ¾î¶»°Ô Àû¿ëµÇ´ÂÁö¿¡ ´ëÇØ »ìÆìº»´Ù.
15Àå, ¡®±× ¿Ü ÅäÅ«µé¡¯¿¡¼´Â OAuth 2.0ÀÇ ÀϹÝÀûÀÎ Bearer ÅäÅ«ÀÌ ¾Æ´Ñ PoP(Proof of Possession) ÅäÅ«°ú TLS ÅäÅ«ÀÌ OAuth 2.0°ú ¿¬°áµÅ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.
16Àå, ¡®¿ä¾à°ú °á·Ð¡¯¿¡¼´Â ¸ðµç °ÍÀ» Á¤¸®Çϰí ÀÌ Ã¥ÀÇ ³»¿ëÀ» ¶óÀ̺귯¸®¿Í ´õ È®ÀåµÈ OAuth 2.0 Ä¿¹Â´ÏƼ¿¡ ¾î¶»°Ô Àû¿ëÇÏ´ÂÁö¿¡ ´ëÇØ ³íÀÇÇÑ´Ù.
[¿Å±äÀÌÀÇ ¸»]
OAuth´Â ÇöÀç À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ̳ª ¼ºñ½º»Ó¸¸ ¾Æ´Ï¶ó ³×ÀÌÆ¼ºê ¾ÖÇø®ÄÉÀ̼ǿ¡ À̸£±â±îÁö ±¤¹üÀ§ÇÏ°Ô »ç¿ëµÇ°í ÀÖ´Ù. »ç¿ëÇϱ⠽±°í, ¼ºñ½º °£ÀÇ ¿¬µ¿°ú ±¸ÇöÀ» °£´ÜÈ÷ ÇØ°áÇÒ ¼ö ÀÖ°Ô ÇØÁֱ⠶§¹®ÀÏ °ÍÀÌ´Ù. ÀÌ Ã¥Àº OAuth°¡ ¹«¾ùÀÎÁö¸¦ ¼³¸íÇÒ »Ó¸¸ ¾Æ´Ï¶ó OAuthÀÇ ±¸Çö ¹æ¹ý°ú ±¸Çö¿¡ ÀÖ¾î¼ÀÇ °í·Á»çÇ× µî OAuth¿Í °ü·ÃµÈ Àü¹ÝÀûÀÎ ³»¿ëÀ» ¸ðµÎ ¼³¸íÇÏ°í °¡À̵åÇϰí ÀÖ´Ù. ƯÈ÷, OAuth ±¸Çö¿¡ ÀÖ¾î¼ Áß¿äÇÏ°Ô °í·ÁÇØ¾ß ÇÏ´Â º¸¾ÈÀûÀÎ ºÎºÐ(OAuth ±¸Çö¿¡ ÀÖ¾î¼ ¹ß»ýÇÒ ¼ö ÀÖ´Â ÀϹÝÀûÀÎ º¸¾È Ãë¾àÁ¡°ú ±×°ÍÀ» ÇÇÇÏ´Â ¹æ¹ý)¿¡ ¸¹Àº Áö¸éÀ» ÇÒ´çÇØ OAuth ±¸Çö¿¡ ÀÖ¾î¼ÀÇ ÀáÀçÀûÀÎ À§ÇùÀ» ÀÚ¼¼È÷ ¼³¸íÇÏ°í ½Ç¿ëÀûÀÎ °¡À̵带 Á¦½ÃÇϰí ÀÖ´Ù´Â °ÍÀÌ Æ¯Â¡À̶ó°í ÇÒ ¼ö ÀÖ´Ù.
±×¸®°í ÅäÅ« ¹× µ¿Àû Ŭ¶óÀÌ¾ðÆ® µî·Ï°ú Á» ´õ °í±Þ ÁÖÁ¦¿¡ ´ëÇØ¼µµ ¼³¸íÇϰí ÀÖ´Ù. Áï, OpenID Ä¿³×Æ®¿Í JOSE/JWT, JOSE ¸ÞÄ¿´ÏÁò, ÅäÅ« ÀÎÆ®·Î½ºÆå¼Ç, ÅäÅ« Æó±â¿Í °°Àº ¸¹Àº °ü·Ã ±â¼úµéµµ ÇÔ²² ¼³¸íÇϰí ÀÖ´Ù. ¶ÇÇÑ, OAuth 2.0ÀÌ ÀÎÁõ ÇÁ·ÎÅäÄÝÀÌ ¾Æ´Ñ ÀÌÀ¯¿Í OpenID Ä¿³ØÆ®¸¦ ÀÌ¿ëÇÑ OAuth ±â¹Ý ÀÎÁõ ÇÁ·ÎÅäÄÝÀ» ±¸Ãà ¹æ¹ý¿¡ ´ëÇØ¼µµ »ìÆìº¸¸ç, »ç¿ëÀÚ°£ °øÀ¯¸¦ Áö¿øÇÏ´Â UMA(User Managed Access) ÇÁ·ÎÅäÄݰú, PoP(Proof of Possession) ÅäÅ«, HEART, iGov ÇÁ·ÎÆÄÀÏ ´ëÇØ¼µµ »ìÆìº»´Ù. ÇѸ¶µð·Î OAuth »Ó¸¸ ¾Æ´Ï¶ó OAuth¿Í °ü·ÃµÈ ¸ðµç °ÍÀ» ´Ù·ç°í ÀÖ´Ù°í º¸¾Æµµ ¹«¸®´Â ¾Æ´Ò °ÍÀÌ´Ù.
OAuth¸¦ ´Ü¼øÈ÷ °·ÂÇÏ°í »ç¿ëÇÏ±â ÆíÇÑ µµ±¸·Î¸¸ ¹Ù¶óº¸Áö ¸»°í ÇϳªÀÇ ¼ºñ½º¸¦ ±¸¼ºÇÏ´Â Áß¿äÇÑ ±¸¼º ¿ä¼Ò Áß Çϳª¶ó°í »ý°¢ÇÑ´Ù¸é ±× ¹Ù¶óº¸´Â °üÁ¡ÀÌ ´Þ¶óÁö°Ô µÅ OAuthÀÇ À¯¿¬ÇÔ°ú È®À强À» Á¦´ë·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °è±â°¡ µÉ °ÍÀÌ´Ù. ±× °á°ú OAuth°¡ ¿©·¯ºÐÀÇ ¼ºñ½º ³»ºÎ¿¡ ´õ ±í¼÷ÇÏ°Ô ³ì¾Æ µé¾î°¡°Ô µÇ´Â °è±â°¡ µÇ±æ Èñ¸ÁÇÑ´Ù.
´Ý±â