ããã¯ãšã³ãéçºã®ã³ã³ããã¹ãã§ã¯ãããŒã¯ã³ã¯ãªãœãŒã¹ãš API ãžã®ã¢ã¯ã»ã¹ã®ä¿è·ãšç®¡çãäžå¿ãšããéèŠãªæŠå¿µã§ããããŒã¯ã³ã¯ãããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³å ã®ç¹å®ã®ãªãœãŒã¹ãŸãã¯ã¢ã¯ã·ã§ã³ãžã®èš±å¯ãããã¢ã¯ã»ã¹ã衚ããæå·åã«ãã£ãŠçæãããäžæã®æååã§ããããŒã¯ã³ã¯äž»ã«ãŠãŒã¶ãŒãèªèšŒããã³èªå¯ããææ®µãšããŠäœ¿çšãããããã¯ãšã³ã ã€ã³ãã©ã¹ãã©ã¯ãã£å ã® API endpoints ãããŒã¿ããŒã¹ããµãŒãã¹ãžã®å®å šãªã¢ã¯ã»ã¹ã容æã«ããŸãããããã¯ãèªå¯ãèªèšŒãã»ãã·ã§ã³ç®¡çãªã©ã®ã»ãã¥ãªã㣠ã¡ã«ããºã ã®å®è£ ã«åœ¹ç«ã¡ãããã¯ãšã³ãéçºè ãäžæ£ã¢ã¯ã»ã¹ããã¢ããªã±ãŒã·ã§ã³ãä¿è·ããã»ãã¥ãªã㣠ãªã¹ã¯ã軜æžããããŒã¿ ãã©ã€ãã·ãŒèŠå¶ãžã®ã³ã³ãã©ã€ã¢ã³ã¹ã確ä¿ã§ããããã«ããŸãã
ããã¯ãšã³ãéçºã§æãåºãæ¡çšãããŠããããŒã¯ã³ããŒã¹ã®èªèšŒã¡ã«ããºã ã® 1 ã€ã¯ãJSON Web Token (JWT) æšæºã§ãã JWT ã¯ãRFC 7519 ã«ãã£ãŠå®çŸ©ããããªãŒãã³ ã¹ã¿ã³ããŒãã§ãããJSON ãªããžã§ã¯ãã®åœ¢åŒã§é¢ä¿è éã§æ å ±ãå®å šã«éä¿¡ããããã®ãã³ã³ãã¯ãã§ URL ã»ãŒããªèªå·±å®çµåã®æ¹æ³ãæŠèª¬ããŠããŸãããã®æ å ±ã¯ãç§å¯éµãæå·çœ²åããŸãã¯å ¬ééµãšç§å¯éµã®ãã¢ã䜿çšããŠããžã¿ã«çœ²åãããŠãããããæ€èšŒããã³ä¿¡é Œã§ããŸãã JWT ã¯ãç¹ã« RESTful APIãã·ã³ã°ã« ããŒãž ã¢ããªã±ãŒã·ã§ã³ (SPA)ãããã³ãã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£äžã«æ§ç¯ãããææ°ã® Web ã¢ããªã±ãŒã·ã§ã³ã§ããŠãŒã¶ãŒãèªèšŒããAPI endpointsãžã®ã¢ã¯ã»ã¹ãæ¿èªããããã«ãã䜿çšãããŸãã
JWT ã®æ§é ã¯ãbase64url ã§ãšã³ã³ãŒãããã 3 ã€ã®éšåãããããŒããã€ããŒãã眲åã§æ§æãããŸããéåžžãããããŒã«ã¯ãããŒã¯ã³ã®ã¿ã€ãã眲åã«äœ¿çšãããã¢ã«ãŽãªãºã ãªã©ãããŒã¯ã³ã«é¢ããã¡ã¿ããŒã¿ãå«ãŸããŸãããã€ããŒã (ã¯ã¬ãŒã ãšãåŒã°ããŸã) ã«ã¯ãéä¿¡ãããå®éã®æ å ±ãå«ãŸããŠãããããã«ã¯ãŠãŒã¶ãŒåºæã®ããŒã¿ãèš±å¯ãããã³ãã®ä»ã®é¢é£ããŒã¿ãå«ãŸããå ŽåããããŸãã眲åã¯ããšã³ã³ãŒããããããããŒãšãã€ããŒããç§å¯ããŒãŸãã¯ç§å¯ããŒãšé£çµããããšã«ãã£ãŠäœæãããããŒã¯ã³ã®æŽåæ§ãšä¿¡é Œæ§ãä¿èšŒãããŸããããŒã¯ã³ã®çœ²åã®æ€èšŒã«æåãããšãåä¿¡è ã¯ãã€ããŒãå ã®ã¯ã¬ãŒã ãä¿¡é Œããããã䜿çšããŠèŠæ±ããããªãœãŒã¹ãŸãã¯ãµãŒãã¹ãžã®ã¢ã¯ã»ã¹ãæ¿èªã§ããŸãã
ããŒã¯ã³ããŒã¹ã®èªèšŒã«ã¯ãã»ãã¥ãªãã£ãã¹ã±ãŒã©ããªãã£ã®åäžãææ°ã®ã¢ããªã±ãŒã·ã§ã³éçºæè¡ãšã®äºææ§ãªã©ãåŸæ¥ã® Cookie ããŒã¹ã®èªèšŒã«æ¯ã¹ãŠããã€ãã®å©ç¹ããããŸããã¹ããŒãã¬ã¹ ããŒã¯ã³ã䜿çšããããšã§ãããã¯ãšã³ã ã·ã¹ãã ã¯ãµãŒããŒã«ä¿åãããã»ãã·ã§ã³é¢é£ããŒã¿ã®éãæå°éã«æããããã©ãŒãã³ã¹ãåäžãããæœåšçãªã»ãã¥ãªãã£è åšã®åœ±é¿ã軜æžã§ããŸããããã«ãããŒã¯ã³å ã®æš©éã®ç²åºŠã«ããããã现ããã¢ã¯ã»ã¹å¶åŸ¡ãå¯èœã«ãªããããã¯ãšã³ãéçºè ãã¢ããªã±ãŒã·ã§ã³å ã®ãŠãŒã¶ãŒæš©éãæ£ç¢ºã«å®çŸ©ããã³ç®¡çã§ããããã«ãªããŸãã
ããã¯ãšã³ãéçºããã»ã¹å ã§ã®ããŒã¯ã³ããŒã¹ã®èªèšŒã®çµ±åã¯ã AppMaster no-codeãã©ãããã©ãŒã ã䜿çšããŠåçåã§ããŸãã AppMasterããŒã¿ ã¢ãã«ã®èŠèŠçãªèšèšãããžãã¹ ããã»ã¹ (BP) ãã¶ã€ããŒã«ããããžãã¹ ããžãã¯ã®äœæãREST API ããã³ WSS endpointsã®å®çŸ©ãªã©ãããŒã¯ã³ ããŒã¹ã®ã»ãã¥ãªã㣠ã¡ã«ããºã ã®å®è£ ãç°¡çŽ åããããŒã«ãšæ©èœã®å æ¬çãªã¹ã€ãŒããæäŸããŸãã AppMasterã§çæãããããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã¯ãå ç¢ãªããã©ãŒãã³ã¹ãšåªããã¹ã±ãŒã©ããªãã£ã§ç¥ããã Go (golang) ããã°ã©ãã³ã°èšèªã䜿çšããŠæ§ç¯ãããŠããããšã³ã¿ãŒãã©ã€ãºãé«è² è·ã®ãŠãŒã¹ã±ãŒã¹ã«éåžžã«é©ããŠããŸãã
ããã«ã AppMaster䜿çšãããšãPostgreSQL ãªã©ã®äžè¬çãªããŒã¿ããŒã¹ãšã®ã·ãŒã ã¬ã¹ãªçµ±åãå¯èœã«ãªããããŒã¯ã³ãé¢é£ã¡ã¿ããŒã¿ãä¿åããããã®ãã©ã€ã㪠ããŒã¿ããŒã¹ãšããŠäœ¿çšã§ããŸãããã®ãã©ãããã©ãŒã ã¯ããµãŒããŒendpointsãšããŒã¿ããŒã¹ ã¹ããŒãã®ããã¥ã¡ã³ããšç§»è¡ã¹ã¯ãªããã®çæããµããŒãããŠãããæå°éã®æè¡çè² åµã§ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã广çã«ä¿å®ããã³å±éãããããšãä¿èšŒããŸãã
AppMasterno-codeãã©ãããã©ãŒã ãšããŒã¯ã³ããŒã¹ã®èªèšŒæè¡ã掻çšããããšã§ãããã¯ãšã³ãéçºè ã¯éçºããã»ã¹ãå€§å¹ ã«å éããã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ãã¹ã±ãŒã©ããªãã£ãããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸãããã®åŒ·åãªçµã¿åããã«ãããäžå°äŒæ¥ããå€§äŒæ¥ãŸã§ã®ããŸããŸãªé¡§å®¢ããç¬èªã®èŠä»¶ã广çã«æºãããæœåšçãªã»ãã¥ãªã㣠ãªã¹ã¯ã軜æžããé«å質ã®ãœãããŠã§ã¢ ãœãªã¥ãŒã·ã§ã³ãéçºã§ããããã«ãªããŸãã