JWT (JSON Web Token) ã¯ãJSON ãªããžã§ã¯ãã®åœ¢åŒã§åœäºè éã§æ å ±ãå®å šã«éä¿¡ããããã®ãã³ã³ãã¯ãã§ URL ã»ãŒããªèªå·±å®çµåã®ã¡ãœããã§ãã JWT ã¯ããµãŒããŒãAPIãWeb ã¢ããªã±ãŒã·ã§ã³ãã¢ãã€ã« ã¯ã©ã€ã¢ã³ãéã®å®å šãªèªèšŒãèªå¯ãæ å ±äº€æã容æã«ããææ®µãšããŠãææ°ã®ããã¯ãšã³ãéçºã§åºã䜿çšãããŠããŸãããããã¯ãåŸæ¥ã®ã»ãã·ã§ã³ããŒã¹ã®èªèšŒããã³èªå¯ã¹ããŒã ã«ä»£ãããå ç¢ãã€æè»ã§çžäºéçšå¯èœãªä»£æ¿ææ®µãšããŠå€§ããªæ³šç®ãéããŠããŸãã
JWT ã¯ãJSON (JavaScript Object Notation) ããŒã¿åœ¢åŒã䜿çšããŠæ§ç¯ãããŸãã JSON ã¯äž»ã« JavaScript çšã«èšèšãããŠããŸãããããŸããŸãªããã°ã©ãã³ã°èšèªãšãã©ãããã©ãŒã ã§ãµããŒããããŠãããããJWT ã¯è€æ°ã®ãã¯ãããžãŒ ã¹ã¿ãã¯ã«ããã£ãŠéåžžã«æ±çšæ§ãé«ããªããŸãã JWT ãã€ããŒãã®äžæ žãšãªãã®ã¯ã¯ã¬ãŒã ã§ããã¯ã¬ãŒã ã¯ãããŒã¯ã³ãä¿æããŠåä¿¡è ã«äŒããããŠãŒã¶ãŒ ID ãã¢ã¯ã»ã¹æš©ãªã©ã®ç¹å®ã®æ å ±ã§ãã
JWT ã®æ§é ã¯ãããããŒããã€ããŒãã眲åã® 3 ã€ã®éšåã§æ§æãããŸããéåžžãããããŒã«ã¯ 2 ã€ã®ããããã£ãå«ãŸããŸããããŒã¯ã³ ã¿ã€ã (ãJWTããšããŠç€ºãããŸã) ãšäœ¿çšããã眲åã¢ã«ãŽãªãºã (ããšãã°ãSHA-256 ã䜿çšãã HMAC ã®å Žåã¯ãHS256ããSHA-256 ã䜿çšãã RSA ã®å Žåã¯ãRS256ã) ã§ãããã€ããŒãã«ã¯ã¯ã¬ãŒã ãå«ãŸããŠãããããã¯ç»é²æžã¿ã¯ã¬ãŒã (æšæºåããã³æšå¥šãã£ãŒã«ã) ãŸãã¯ã«ã¹ã¿ã ã¯ã¬ãŒã (ã¢ããªã±ãŒã·ã§ã³åºæã®æ å ±) ã®ããããã§ãã眲åã¯èšç®å€ã§ãããããããŒãšãã€ããŒããç§å¯ããŒãšçµã¿åãããŠãšã³ã³ãŒãããããšã«ãã£ãŠçæãããããŒã¯ã³ã®å®å šæ§ãšä¿¡é Œæ§ãä¿èšŒãããŸãã
JWT ã®æ³šç®ãã¹ãå©ç¹ã¯ãã¹ããŒãã¬ã¹ã§ããããšã§ããã€ãŸãããµãŒããŒåŽã®ã¹ãã¬ãŒãžã管çãå¿ èŠãããŸãããããã¯ãç¶æ ã®ç¶æãå°é£ã§éå¹ççã§ãªãœãŒã¹ã«äŸåããè² è·åæ£ã·ã¹ãã ã忣ã·ã¹ãã ã«ç¹ã«åœ¹ç«ã¡ãŸããã¹ããŒãã¬ã¹ JWT ã¯ã¯ã©ã€ã¢ã³ããšãµãŒããŒéã§ç°¡åã«äº€æã§ãããããããã¯ãšã³ãéçºã¢ãŒããã¯ãã£ã®æ¡åŒµæ§ãšæè»æ§ãåäžããŸãã
è¿ éãªã¢ããªã±ãŒã·ã§ã³éçºã®ããã®äž»èŠãªno-codeãã©ãããã©ãŒã ã§ããAppMasterã§ã¯ãJWT ã¯ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ãWeb ãµãŒãã¹ãRESTful API ãžã®å®å šãã€å¹ççãªã¢ã¯ã»ã¹ãæäŸããäžã§éèŠãªåœ¹å²ãæãããŠããŸãã AppMaster䜿çšãããšããŠãŒã¶ãŒã¯ããŒã¿ ã¢ãã«ãèŠèŠçã«èšèšããããžãã¹ ããžãã¯ãå®è£ ããå®å šãªã¢ã¯ã»ã¹ãšããŒã¿äº€æã®ããã® JWT ãçæããendpointsãäœæã§ããŸãã
ããšãã°ããšã³ããŠãŒã¶ãŒãAppMasterã䜿çšããŠæ§ç¯ããã Web ã¢ããªã±ãŒã·ã§ã³ãŸãã¯ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã«ãã°ã€ã³ãããšãã·ã¹ãã ã¯ãŠãŒã¶ãŒã® IDãããŒã«ãæš©éãå«ã JWT ãçæããŸãããã®åŸãã¯ã©ã€ã¢ã³ãã¯ãã®ããŒã¯ã³ãåŸç¶ã® HTTP ãªã¯ãšã¹ãã®ããããŒã«å«ããŠãä¿è·ããããªãœãŒã¹ãŸãã¯ãµãŒãã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã Go (golang) ãš PostgreSQL ã䜿çšããŠæ§ç¯ãããAppMasterã®ããã¯ãšã³ãã¯ãJWT ããã³ãŒããã眲åãæ€èšŒããã¯ã¬ãŒã ãæœåºããŠãè¿ éãå®å šãã·ãŒã ã¬ã¹ãªèªèšŒãå®çŸããŸãã
ããã«ã AppMasterãã©ãããã©ãŒã ã§ã¯ã«ã¹ã¿ã ã¯ã¬ãŒã ã JWT ã«è¿œå ã§ãããããéçºè ã¯ããŒãœãã©ã€ãºããããŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãäœæããã¢ããªã±ãŒã·ã§ã³åºæã®ããŒãºãæºããããšãã§ããŸãã远å ã®ã»ãã¥ãªãã£å¯ŸçãšããŠã AppMasterããŒã¯ã³ã®æå¹æéãšèªåããŒã¯ã³æŽæ°ã¡ã«ããºã ã®ãµããŒããæäŸããå€ãããŒã¯ã³ã䟵害ãããããŒã¯ã³ãæµéãããŸãŸã«ãªããªãããã«ããŸãã
AppMaster ãJWT ã®äœ¿çšãéããŠãããã¯ãšã³ããWebãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãå«ããšã³ã·ã¹ãã å šäœã«ããã£ãŠãGDPR æºæ ã®æ¡åŒµæ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ ã»ãã¥ãªãã£ãä¿èšŒããŸããããã«ããããŠãŒã¶ãŒã¯ãåŸæ¥ã®ã»ãã¥ãªãã£å®è£ ã«ç ©ããããããšãªããå ç¢ãªèªèšŒããã³èªå¯æ©èœã掻çšããªãããVue3ãKotlinã Jetpack Compose ãããã³SwiftUIã®æ©èœãæå€§éã«æŽ»çšããŠã圱é¿åãããå¹ççãªããžãã¹ ããã»ã¹ã®æ§ç¯ã«éäžã§ããããã«ãªããŸãã
JWT (JSON Web ããŒã¯ã³) ã¯ãææ°ã®å®å šãªããã¯ãšã³ãéçºã¢ãŒããã¯ãã£ã®äžæ žã³ã³ããŒãã³ãã§ãããå®å šãªæ å ±äº€æã®ããã®ã³ã³ãã¯ãã§èªå·±å®çµåã®æ¹æ³ãæäŸããŸãããããã¯ã¹ããŒãã¬ã¹ã§äœ¿ãããããããŸããŸãªããã°ã©ãã³ã°èšèªãšãã©ãããã©ãŒã ã§ãµããŒããããŠãããããè€éãªã·ã¹ãã ã§ã®èªèšŒãšèªå¯ã«çæ³çãªãœãªã¥ãŒã·ã§ã³ãšãªããŸãã AppMasterno-codeãã©ãããã©ãŒã ã¯ãJWT ã®åãå©çšããŠãããã¯ãšã³ããWebãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³åãã®ã·ãŒã ã¬ã¹ã§ã¹ã±ãŒã©ãã«ã§ã«ã¹ã¿ãã€ãºå¯èœãªã»ãã¥ãªã㣠ãœãªã¥ãŒã·ã§ã³ããŠãŒã¶ãŒã«æäŸããåŸæ¥ã®ã»ãã¥ãªãã£å®è£ ã«ãã䌎ãè€éããšéå¹çãæé€ããŸãã