ãOpen Authorizationãã®ç¥ã§ãã OAuth ã¯ãã¯ã©ã€ã¢ã³ã ã¢ããªã±ãŒã·ã§ã³ããŠãŒã¶ãŒã«ä»£ãã£ãŠä¿è·ããããªãœãŒã¹ã«å®å šã«ã¢ã¯ã»ã¹ã§ããããã«ãããªãŒãã³æšæºã®èªèšŒãããã³ã«ã§ãããŠãŒã¶ãŒã¯è³æ Œæ å ±ãã¢ããªã±ãŒã·ã§ã³ãšå ±æããå¿ èŠããããŸããã OAuth ã¯ããã®æè»æ§ãçžäºéçšæ§ãå ç¢ãªã»ãã¥ãªã㣠ã¡ã«ããºã ã«ããããœãŒã·ã£ã« ã¡ãã£ã¢ ãããã¯ãŒã¯ãé»ååååŒ Web ãµã€ãããã¯ã©ãŠã ã¹ãã¬ãŒãž ãã©ãããã©ãŒã ãäŒæ¥ã¢ããªã±ãŒã·ã§ã³ã«è³ããŸã§ãæ°å€ãã®æ¥çã§åºãæ¡çšãããŠããŸãã
Web ãµã€ãéçºã®ã³ã³ããã¹ãã§ã¯ãOAuth ã¯éçºè ãã¢ããªã±ãŒã·ã§ã³ãšå€éšãµãŒãã¹éã®å®å šãªæ¥ç¶ãäœæããã³ç®¡çããããã®ä¿¡é Œã§ãããã¬ãŒã ã¯ãŒã¯ãæäŸããŸããããã«ãããèªèšŒããã³èªå¯ã¡ã«ããºã ã®å®è£ ããã»ã¹ãå€§å¹ ã«ç°¡çŽ åãããéçºè ã®æéãšåŽåãç¯çŽãããåæã«ãŠãŒã¶ãŒã®ãã©ã€ãã·ãŒãšããŒã¿ã®ã»ãã¥ãªãã£ã確ä¿ãããŸãã
OAuth ã¯æéã®çµéãšãšãã«è€æ°ã®æ¹èšãè¡ãããææ°ããŒãžã§ã³ã¯ OAuth 2.0 ã§ããããã¯ãããŸããŸãªãŠãŒã¹ã±ãŒã¹ãå°å ¥ã·ããªãªã«å¯ŸåŠããããšãç®çãšãããå æ¬çãªæšæºãã¬ã€ãã©ã€ã³ããã¹ã ãã©ã¯ãã£ã¹ã«åºã¥ãåºç¯ãªæ¥çã³ã©ãã¬ãŒã·ã§ã³ã®ææã§ãã
OAuth ã®äž»èŠãªæŠå¿µã¯æ¬¡ã®ãšããã§ãã
- ãªãœãŒã¹ææè : ä¿è·ããããªãœãŒã¹ãææããã³å¶åŸ¡ãããŠãŒã¶ãŒãéåžžã¯ãµãŒãã¹ ãããã€ããŒã®ãã©ãããã©ãŒã äžã®ã¢ã«ãŠã³ãã§è¡šãããŸãã
- ã¯ã©ã€ã¢ã³ã: ãªãœãŒã¹ææè ã«ä»£ãã£ãŠä¿è·ããããªãœãŒã¹ã«ã¢ã¯ã»ã¹ããããšããã¢ããªã±ãŒã·ã§ã³ã
- ãªãœãŒã¹ ãµãŒããŒ: ä¿è·ããããªãœãŒã¹ããã¹ããããµãŒããŒã
- èªå¯ãµãŒããŒ: ãªãœãŒã¹ææè ãèªèšŒããã¯ã©ã€ã¢ã³ãã«ã¢ã¯ã»ã¹ ããŒã¯ã³ãçºè¡ããŠãã¯ã©ã€ã¢ã³ããä¿è·ããããªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ãããµãŒããŒã
- ã¢ã¯ã»ã¹ ããŒã¯ã³: ãªãœãŒã¹ææè ã«ãã£ãŠã¯ã©ã€ã¢ã³ãã«ä»äžãããæ¿èªã衚ãæååãã¢ã¯ã»ã¹ ããŒã¯ã³ã«ã¯æå¹æéãšç¹å®ã®ã¹ã³ãŒããå¶éãããŠãããç¹å®ã®ã¢ã¯ã·ã§ã³ããã³ç¹å®ã®æéå ã§ã®ã¿äœ¿çšã§ããŸãã
OAuth ã®äž»ãªå©ç¹ã¯ããªãœãŒã¹ææè ãè³æ Œæ å ± (ãŠãŒã¶ãŒåããã¹ã¯ãŒããªã©) ãå ±æããã«ãã¯ã©ã€ã¢ã³ãã«ä¿è·ããããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãèš±å¯ã§ããããšã§ããããã¯ããå§ä»»ãããæ¿èªããšããŠç¥ãããããã»ã¹ãéããŠå®çŸãããŸããããã«ã¯éåžžãæ¬¡ã®æé ãå«ãŸããŸãã
- ã¯ã©ã€ã¢ã³ãã¯ãªãœãŒã¹ææè ãèªå¯ãµãŒããŒã«ãªãã€ã¬ã¯ãããç¹å®ã®ã¢ã¯ã·ã§ã³ãŸãã¯ã¹ã³ãŒãã«å¯Ÿããèªå¯ãèŠæ±ããŸãã
- ãªãœãŒã¹ææè ã¯èªå¯ãµãŒããŒã§èªèšŒããã¯ã©ã€ã¢ã³ãã®ãªã¯ãšã¹ããæ¿èªããŸãã
- èªå¯ãµãŒããŒã¯èªå¯ã³ãŒããçºè¡ãããªãã€ã¬ã¯ã URI ãéããŠã¯ã©ã€ã¢ã³ãã«éãè¿ãããŸãã
- ã¯ã©ã€ã¢ã³ãã¯ãèªå¯ãµãŒããŒã«ãªã¯ãšã¹ããçºè¡ããŠãèªå¯ã³ãŒããšã¢ã¯ã»ã¹ ããŒã¯ã³ã亀æããŸãã
- ã¯ã©ã€ã¢ã³ãã¯ã¢ã¯ã»ã¹ ããŒã¯ã³ã䜿çšããŠããªãœãŒã¹ ãµãŒããŒããä¿è·ããããªãœãŒã¹ã«ã¢ã¯ã»ã¹ããŸãã
OAuth 2.0 ã®éèŠãªæ©èœã® 1 ã€ã¯ãããŸããŸãªã¯ã©ã€ã¢ã³ã ã¿ã€ãããŠãŒã¹ã±ãŒã¹ã«åãããŠèª¿æŽãããè€æ°ã®ãèš±å¯ã¿ã€ããããµããŒãããŠããããšã§ãããããã®èš±å¯ã¿ã€ãã¯ãã¯ã©ã€ã¢ã³ããã¢ã¯ã»ã¹ ããŒã¯ã³ãååŸããããã®ç¹å®ã®æ¹æ³ãå®çŸ©ããŠãããæ¬¡ã®ãã®ãå«ãŸããŸãã
- èªå¯ã³ãŒã: ãã®ä»äžã¿ã€ãã¯ãã·ãŒã¯ã¬ãããå®å šã«ä¿åããããã¯ãã£ãã«ã䜿çšããŠèªå¯ãµãŒããŒãšéä¿¡ã§ãã Web ããã³ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããŸãã
- æé»ç: ã·ãŒã¯ã¬ãããå®å šã«ä¿åã§ãããããã³ã ãã£ãã«çµç±ã§ããŒã¯ã³ãçŽæ¥çºè¡ããå¿ èŠãããã·ã³ã°ã« ããŒãž ã¢ããªã±ãŒã·ã§ã³ (SPA) ããã³ãã®ä»ã®ãŠãŒã¶ãŒ ãšãŒãžã§ã³ã ããŒã¹ã®ã¯ã©ã€ã¢ã³ãåãã«èšèšãããŠããŸãã
- ãªãœãŒã¹ææè ã®ãã¹ã¯ãŒãè³æ Œæ å ±: ç§»è¡ã·ããªãªããã¡ãŒã¹ãããŒã㣠ã¯ã©ã€ã¢ã³ããªã©ãã¯ã©ã€ã¢ã³ããä¿¡é ŒããããªãœãŒã¹ææè ã®è³æ Œæ å ±ãå®å šã«ååŸããŠä¿åã§ããã·ããªãªã§äœ¿çšãããŸãã
- ã¯ã©ã€ã¢ã³ãè³æ Œæ å ±: ã¯ã©ã€ã¢ã³ããç¹å®ã®ãªãœãŒã¹ææè ã®ä»£ããã«åäœãããã·ã³é (M2M) èªèšŒã«é©ããŠããŸãã
AppMasterno-codeãã©ãããã©ãŒã ã䜿çšããéçºè ã¯ã AppMasterã®ã«ã¹ã¿ã API ãšèªèšŒãµãŒãã¹ã䜿çšããŠãOAuth ããŒã¹ã®èªèšŒããã³èªå¯ã¡ã«ããºã ãç°¡åã«çµ±åã§ããŸããããã«ãããã·ã³ã°ã« ãµã€ã³ãªã³ (SSO) æ©èœããœãŒã·ã£ã« ã¡ãã£ã¢ ãã°ã€ã³æ©èœãå®è£ ããããOAuth ããµããŒããããµãŒãããŒã㣠API ãã¯ã©ãŠã ãµãŒãã¹ãžã®å®å šãªæ¥ç¶ã確ç«ãããããããšãã§ããŸããããã«ã AppMasterã§æ§ç¯ãããã¢ããªã±ãŒã·ã§ã³ã¯ãGoãVue3ãKotlin ãªã©ã®æ¥çæšæºãã¯ãããžãŒã䜿çšããŠçæãããOAuth ãšã®äºææ§ãšçžäºéçšæ§ãä¿èšŒãããŸãã
çµè«ãšããŠãOAuth ã¯åŒ·åã§é©å¿æ§ããããåºãæ¡çšãããŠããèªèšŒãããã³ã«ã§ãããç¹ã«ã»ãã¥ãªãã£ãšçµ±åã®å®¹æãã®ç¹ã§ Web ãµã€ãéçºè ã«å€§ããªå©ç¹ããããããŸãã OAuth ãæŽ»çšããããšã§ãéçºè ã¯ãå®å šæ§ãäœãå¯èœæ§ãããã«ã¹ã¿ã ã®èªèšŒããã³èªå¯ã®å®è£ ãžã®äŸåãæžããããšãã§ãããã®çµæããŠãŒã¶ãŒ ããŒã¿ãä¿è·ãã峿 Œãªã¢ã¯ã»ã¹ ã³ã³ãããŒã« ããªã·ãŒãé©çšãããããå®å šã§ã»ãã¥ã¢ãªã¢ããªã±ãŒã·ã§ã³ãå®çŸããŸãã