±âŸ(framework)
2018.03.21 / 01:56
Firebase Web äÆÃ¾Û ¸¸µé±â - Realtime Database ±ÇÇÑ ¼³Á¤
ÈÞ°í
Ãßõ ¼ö 230
¿©±â±îÁö µû¶ó¿À½Ã´À¶ó ¼ö°íÇϼ̽À´Ï´Ù. ÄÚµå´Â ¿Ï¼ºµÇ¾ú½À´Ï´Ù. ¾Õ¼µµ ¾ð±ÞµÇ¾úÁö¸¸, Firebase Realtime DatabaseƯ¼º»ó ±ÇÇÑ ¼³Á¤Àº ¹«Ã´ Áß¿äÇÕ´Ï´Ù. ƯÈ÷³ª À¥ÀÇ °æ¿ì´Â ¼¹öÀÇ ÁÖ¿ä ·ÎÁ÷µéÀÌ Å¬¶óÀ̾ðÆ®¿¡¼ µå·¯³ª±â ¶§¹®ÀÔ´Ï´Ù.
Realtime DatabaseÀÇ ±âº» ±ÇÇÑÀº Authentication ÀÎÁõ ¹Þ¾ÒÀ» ¶§ Àбâ¿Í ¾²±â Çã¿ëÀÔ´Ï´Ù.
database.rules.json ÆÄÀÏ¿¡ Realtime Database ±ÇÇÑÀÌ ÀԷµǾî ÀÖ½À´Ï´Ù. ÇØ´ç ÆÄÀÏÀ» ¹èÆ÷ÇÔÀ¸·Î½á ±ÇÇÑ Á¤º¸¸¦ ¾÷µ¥ÀÌÆ®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Firebase console âÀ» ÅëÇؼµµ ±ÇÇÑ ·êÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. Firebase console ȸ鿡¼ DatabaseÇ׸ñ ¿¡¼ ±ÔÄ¢ ÅÇÀ¸·Î µé¾î°¡¸é ±ÇÇÑÀ» º¯°æÇÒ ¼ö ÀÖ°í, ½Ã¹Ä·¹ÀÌÅÍ·Î Å×½ºÆ®µµ °¡´ÉÇÕ´Ï´Ù.
ÇÁ·ÎÁ§Æ® »ý¼ºÇÏ°í ³ª¼ ±âº» ·êÀº Authentication ÀÎÁõ ¹Þ¾Æ¾ß¸¸ Àбâ¿Í ¾²±â°¡ °¡´ÉÇÑ ·êÀÔ´Ï´Ù.
±âº»ÀûÀÎ rule À¯ÇüÀÔ´Ï´Ù.
±ÔÄ¢ À¯Çü | |
.read | »ç¿ëÀÚ°¡ µ¥ÀÌÅ͸¦ ÀÐÀ» ¼ö ÀÖ´Â Á¶°ÇÀ» ±â¼úÇÕ´Ï´Ù. |
.write | »ç¿ëÀÚ°¡ µ¥ÀÌÅ͸¦ ¾µ ¼ö ÀÖ´Â Á¶°ÇÀ» ±â¼úÇÕ´Ï´Ù. |
.validate | °ªÀÇ ¿Ã¹Ù¸¥ Çü½Ä, ÇÏÀ§ ¼Ó¼ºÀ» °®´ÂÁö ¿©ºÎ ¹× µ¥ÀÌÅÍ À¯ÇüÀ» Á¤ÀÇÇÕ´Ï´Ù. |
.indexOn | Á¤·Ä ¹× Äõ¸®¸¦ À§ÇØ »öÀÎÈÇÒ ÇÏÀ§ Ç׸ñÀ» ÁöÁ¤ÇÕ´Ï´Ù. |
·ê°ú ÇÔ²² Á¤ÀÇÇÒ ¶§ »ç¿ëµÇ´Â »çÀü Á¤ÀÇµÈ º¯¼ö ÀÔ´Ï´Ù.
»çÀü Á¤ÀÇµÈ º¯¼ö | |
Linux ±âÁ¡À» ±âÁØÀ¸·Î ÇÏ´Â ÇöÀç ½Ã°£(¹Ð¸®ÃÊ)ÀÔ´Ï´Ù. SDKÀÇ firebase.database.ServerValue.TIMESTAMP·Î »ý¼ºÇÑ Å¸ÀÓ½ºÅÆÇÁ¸¦ °ËÁõÇÏ´Â µ¥ ƯÈ÷ À¯¿ëÇÕ´Ï´Ù. | |
ÀÛ¾÷ ½Ãµµ ÈÄ¿¡ Á¸ÀçÇÒ µ¥ÀÌÅ͸¦ ³ªÅ¸³»´Â RuleDataSnapshotÀÔ´Ï´Ù. »õ·Î ±â·ÏµÇ´Â µ¥ÀÌÅÍ¿Í ±âÁ¸ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÕ´Ï´Ù. | |
ID ¹× µ¿Àû ÇÏÀ§ Å°¸¦ ³ªÅ¸³»´Â µ¥ »ç¿ëµÇ´Â ¿ÍÀϵåÄ«µå °æ·ÎÀÔ´Ï´Ù. | |
ÀÎÁõµÈ »ç¿ëÀÚÀÇ ÅäÅ« ÆäÀ̷ε带 ³ªÅ¸³À´Ï´Ù. |
Á¦°¡ Àû¿ëÇÑ ·êÀÔ´Ï´Ù.
Àúµµ ´õ ¿¬±¸Çؼ ´õ¿í ¼¼¼¼ÇÏ°Ô ±ÇÇÑÀ» Áà¾ßÇÏ°ÚÁö¸¸, ÀÏ´Ü Ã¤Æþۿ¡¼ °¡Àå ÇÙ½ÉÀ̵Ǵ Messages ºÎºÐÀº
RoomUsers¾Æ·¡ äÆù濡 ÀοøÀ¸·Î µî·ÏµÇ¾î ÀÖÁö ¾ÊÀ¸¸é Àбâ¿Í ¾²±â°¡ ±ÝÁöµÇ¾î ÀÖ½À´Ï´Ù.
".read": "root.child('RoomUsers').child($roomId).child(auth.uid).exists()",
".write": "root.child('RoomUsers').child($roomId).child(auth.uid).exists()",
äÆÃ¹æ ¸ñ·Ï¿¡ ÇØ´çÇÏ´Â UserRooms´Â ±× ¾Æ·¡ Å°ÀÎ uid´Â º»Àΰ͸¸ ÀÐÀ» ¼ö ÀÖ°Ô Çã¿ëµÇ¾î ÀÖ½À´Ï´Ù.
".read": "$uid === auth.uid",
±ÇÇÑ ºÎºÐÀº Á¶±Ý ´õ °í¹ÎÀÌ ÇÊ¿äÇÑ ºÎºÐÀÌ ÀÖ´Â µí ÇÕ´Ï´Ù.
ºÎÁ·ÇÏÁö¸¸ Firebase äÆÃ¾Û ¿¹Á¦°¡ ¸¶¹«¸®µÇ¾ú½À´Ï´Ù. ºÎÁ·ÇÑÁ¡µµ ¸¹ÀÌ ÀÖÀ» µí ÇÕ´Ï´Ù. ºÎÁ·ÇÑ Á¡ÀÌ º¸À̸é Çǵå¹é ºÎŹµå¸³´Ï´Ù~
¿Ï¼ºµÈ ¼Ò½º´Â ¾Æ·¡ÀÇ ¸µÅ©¿¡¼ È®ÀÎ °¡´ÉÇÕ´Ï´Ù.
Ãâó: http://cionman.tistory.com/67 [Suwoni-Codelab]