èªè¨¼æ¹æ³ãèªè¨¼è¦ç´ ãã¦ã¼ã¶ã¼ ID ã®ä¿è·ããã¹ã¯ã¼ãã¬ã¹ãã·ã³ã°ã«ãµã¤ã³ãªã³ãªã©ããã°ã¤ã³ã®ã¹ããããéè¦ãã¦ããäºãå¤ãã¨æãã¾ãããã°ã¢ã¦ãã®ã¹ãããã«ã¤ãã¦ã¯ã©ãã§ããããï¼ãã°ã¢ã¦ãã®å®è£ ã¯ã¨ã¦ãç°¡åãªã®ã§ããã¾ã注æãæãå¿ è¦ã¯ãªãã¨æããã¾ããï¼
ãã°ã¢ã¦ãã®å®è£ ã¯ä¸è¦ç°¡åã«è¦ãã¾ãããå®éã«ã¯ããã¾ã§ç°¡åã§ã¯ãªãããããã¾ãããç¹ã« Auth0 powered by Okta ã使ç¨ãã¦ããæã®ããã«ããã°ã¤ã³ã®ã¹ãããã«è¤æ°ã®ã·ã¹ãã ãé¢ããæã¯èæ ®ãã¹ããã¨ãããã¾ãã
ãã®è¨äºã§ã¯ããã°ã¢ã¦ãã®ã¿ã¤ããèæ ®äºé ã«ã¤ãã¦é«ã¬ãã«ã®æ¦è¦ãç´¹ä»ããã¦é ãã¾ãããã°ã¢ã¦ãã®å®è£ ã®è©³ç´°ã«ã¤ãã¦ã¯èª¬æãã¾ããããä¸è¦åç´ã«è¦ããå¦çã®èæ¯ã«ããè¤éããç¥ã£ã¦é ããã¨æãã¾ãã
ãããããã°ãåããããã¯ã«ã¤ãã¦ã®åç»ãããã¾ãï¼åç»ã¯è±èªã®ã¿ã¨ãªã£ã¦ãã¾ãï¼ã:
ãã°ã¢ã¦ãã«ã¤ãã¦ã® QA
ã¢ã©ãã¢ã®ãã¨ããã«ãå ¥ãåã«åºããã¨ãèãããã¨ãããã®ãããã¾ããããã¯ãã©ã®ãããªç°å¢ã§ãããå ¥ãåã«åºå£ãããèãã¦ãããã¨ã®éè¦æ§ã示åãã¦ãã¾ããããã¯ã¢ããªã±ã¼ã·ã§ã³ã®ãã°ã¢ã¦ãã«ãå½ã¦ã¯ã¾ãã¨æãã¾ããã¢ããªã±ã¼ã·ã§ã³ããé©åã«ãã°ã¢ã¦ãããæ¹æ³ãç解ãããã¨ã¯ããã°ã¤ã³ãããã¨ã¨åããéè¦ã§ãã
ãã°ã¢ã¦ãã®æ§ã ãªã¿ã¤ãã«ã¤ãã¦ç´¹ä»ããåã«ãã¢ããªã±ã¼ã·ã§ã³ã®ãã°ã¢ã¦ãã«ã¤ãã¦ã®ãã¼ãºã«ã©ã対å¿ãããç解ããã®ã«å½¹ç«ã¤ã¨æããã質åãããã¦é ãã¾ãã
ãã°ã¤ã³ã¨ãã°ã¢ã¦ãã¯ã©ã®ããã«é¢ä¿ãã¦ããã§ãããã?
ãã°ã¤ã³ã¯èªè¨¼ãããã¦ã¼ã¶ãé¢é£ä»ããããã»ãã·ã§ã³ã®æåã®ã¹ãããã§ããã°ã¢ã¦ãã¯æå¾ã®ã¹ãããã§ãããã°ã¤ã³ã®åããã°ã¢ã¦ãã®å¾ã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ä¸ã®æ´»åã¯èªè¨¼ãããã¦ã¼ã¶ã«ç´ã¥ãããããå¿åãä¸æã®ã¦ã¼ã¶ (Unknown User / Anonymous User) ã¨ãã¦æ±ããã¾ãã
ã§ãã®ã§ããã°ã¤ã³ãããã°ã¢ã¦ãã®ã¹ãããã¾ã§ã®éãã¢ããªã±ã¼ã·ã§ã³ã¯ãã°ã¤ã³ããã¦ã¼ã¶ã誰ã§ããããç¥ã£ã¦ããã¨è¨ãã¾ãã
ã¦ã¼ã¶ãã¨ã«èªè¨¼æ¸ã¿ã»ãã·ã§ã³ã¯ããã¤ããã§ããããï¼
Auth0 ã使ç¨ãã¦ããå ´åãã¦ã¼ã¶ã ã¦ããã¼ãµã«ãã°ã¤ã³ ã使ç¨ãã¦ãã°ã¤ã³ãã㨠Auth0 ã¯æ°ããèªè¨¼æ¸ã¿ã»ãã·ã§ã³ãä½æãã¾ããåæ§ã«ãã¢ããªã±ã¼ã·ã§ã³ã¯ Auth0 ããã¦ã¼ã¶ã®èªè¨¼çµæãåãåãã¨ãå¥ã®æ°ããèªè¨¼æ¸ã¿ã»ãã·ã§ã³ãä½æãã¾ãã
1 ã¤ç®ã®ã»ãã·ã§ã³ã¯ã¦ã¼ã¶ã¨ Auth0 ãµã¼ãéã®ããã¨ãã追跡ããããã Auth0 ã»ãã·ã§ã³ (ä¸å³ Auth0 session) ã¨å¼ã³ã¾ãã2 ã¤ç®ã®ã»ãã·ã§ã³ã¯ã¦ã¼ã¶ã¨ã¢ããªã±ã¼ã·ã§ã³ã®ããã¨ãã追跡ããããã ã¢ããªã±ã¼ã·ã§ã³ã»ãã·ã§ã³ (ä¸å³ Application session) ã¨å¼ã³ã¾ãã以ä¸ã®å³ã¯ãAuth0 ãå©ç¨ããéã®ãããã® 2 ã¤ã®ã»ãã·ã§ã³ã示ãããã®ã§ããï¼
Auth0 ãéãã¦ããµã¼ããã¼ãã£ã®ã¢ã¤ãã³ãã£ãã£ãããã¤ã (IdP) ã§ã¦ã¼ã¶ã¼ãèªè¨¼ãããã¨ãã§ãã¾ããä¾ãã°ãGoogleãFacebookãX (æ§ Twitter) ãªã©ã®ã½ã¼ã·ã£ã«ãµã¼ãã¹ã§ã¦ã¼ã¶ãèªè¨¼ãããã¨ãã§ãã¾ãããã®å ´åãAuth0 ã»ãã·ã§ã³ã¨ã¢ããªã±ã¼ã·ã§ã³ ã»ãã·ã§ã³ã«å ãã¦ããµã¼ããã¼ã㣠IdP ã»ãã·ã§ã³ (ä¸å³ 3d party IdP session) ã¨ãã 3 ã¤ç®ã®ã»ãã·ã§ã³ãä½æããã¾ãã次ã®å³ã¯ãã®æ°ããã·ããªãªã表ãã¦ãã¾ãã:
ãªããã°ã¢ã¦ãããå¿ è¦ãããã®ã§ããããï¼
ããã¯å¥å¦ãªè³ªåã®ããã«æããããããã¾ããããå°ãèãã¦ã¿ã¦ãã ãããã¢ããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ãããç®çã¯ä½ã§ããããï¼ãã°ã¢ã¦ãã¯åºæ¬çã«èªè¨¼ãããã»ãã·ã§ã³ãçµäºããããã¨ãæå³ãã¾ããã»ãã·ã§ã³ã«é¢é£ãããã¹ã¦ã®æ å ±ãç ´æ£ãã権éã®ãªã人ãå¼ãç¶ããã¨ãã§ããªãããã«ããªããã°ãªãã¾ãããè¨ãæããã°ãããã¯ã»ãã¥ãªãã£å¯¾çã§ããã§ãããå¾ã§ç´¹ä»ããããã«ãã¦ã¼ã¶ã¨ã¯ã¹ããªã¨ã³ã¹ã«ãå½±é¿ãä¸ãããã¨ãéå°è©ä¾¡ãã¹ãã§ã¯ããã¾ããã
ã©ããããã°ã¢ã¦ããããã§ããããï¼
ãããæåã¯é¦¬é¹¿ãã質åã®ããã«æããããããã¾ãããããããæãèªç¶ãªçãã¯ãã¢ããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ãããããã§ããããããããããã¾ã§ã«ãç´¹ä»ããããã«è¤æ°ã®èªè¨¼æ¸ã¿ã»ãã·ã§ã³ãåå¨ããå ´åãããã¾ããã©ã®ã»ãã·ã§ã³ãçµäºãããå¿ è¦ãããã§ããããï¼ã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã·ã§ã³ã ãã§ããããï¼ãã¹ã¦ã®ã»ãã·ã§ã³ã§ããããï¼
ã©ããªé¸æè¢ããããå¾ã»ã©ç´¹ä»ãã¾ãã
ãªããã®ãããªè³ªåãå¿ è¦ãªã®ã§ããããï¼
ããã¾ã§ã®è³ªå (ã¾ã ããã¤ãã®è³ªåã«ã¯åçã§ãã¦ãã¾ãã) ã¯ãå®éã«å©ç¨ãããç¶æ³ã«ããã¦ã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ããé©åã«ãã°ã¢ã¦ããããæ¹æ³ãèããå©ãã«ãªãã¨æãã¾ããã¦ã¼ã¶ã¼ãé©åã«ãã°ã¢ã¦ããããæ¹æ³ãè¦ã¤ããããã«ãã¢ããªã±ã¼ã·ã§ã³ã®æ§æã注ææ·±ãåæãã¦ãã ãããããã¾ã§ã®è³ªåã念é ã«ç½®ãã¦ãã©ã®ãããªã¿ã¤ãã®ãã°ã¢ã¦ããå©ç¨å¯è½ãè¦ã¦ã¿ã¾ãããã
ãã°ã¢ã¦ãã®ã¿ã¤ã
ã¢ããªã±ã¼ã·ã§ã³ã«ãã°ã¤ã³ããæ¹æ³ãè¤æ°ããããã«ããã°ã¢ã¦ãããæ¹æ³ãè¤æ°ããã¾ããããããè¦ã¦ããã¾ãããã
ã¢ããªã±ã¼ã·ã§ã³ã®ãã°ã¢ã¦ã
ã¢ããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ãããã¨ãããã¨ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã·ã§ã³ãçµäºãããã¨ãããã¨ã§ããã©ã®ããã«ã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã·ã§ã³ãçµäºããããã¯ãã¢ããªã±ã¼ã·ã§ã³ã®å®è£ ã«ããã¾ããä¾ãã°ãããªãã®ã¢ããªã±ã¼ã·ã§ã³ã ä¸è¬çãªã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ ã§ããã°ãã¯ããã¼ã¨ãµã¼ãå´ã®ã»ãã·ã§ã³ã¹ãã¬ã¼ã¸ã使ã£ã¦ã»ãã·ã§ã³ãå®è£ ãã¦ããã®ã§ã¯ãªããã¨æãã¾ãããã®å ´åãã¦ã¼ã¶ã®ã»ãã·ã§ã³ãçµäºãããã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ã¯ã¯ããã¼ãç¡å¹ã«ããã»ãã·ã§ã³ã¹ãã¬ã¼ã¸ããåé¤ããªããã°ãªãã¾ãããã¢ããªã±ã¼ã·ã§ã³ãã»ãã·ã§ã³ãçµäºããããã«å®è£ ãããã¨ã¯éçºè ã®å½¹å²ã¨ãªãã¾ãã
ã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã·ã§ã³ãçµäºããã¦ããAuth0 ã®ã»ãã·ã§ã³ã¯çµäºããã¾ãããAuth0 ä¸ã®ã¦ã¼ã¶ã®ã»ãã·ã§ã³ã¯ã¢ã¯ãã£ããªã¾ã¾ã§ããããã¯æè¡çã«ã¯ãAuth0 ãçºè¡ããæå¹ãªèªè¨¼ã¯ããã¼ãã¦ã¼ã¶ã®ãã©ã¦ã¶ãä¿æããã¾ã¾ã¨ãããã¨ã§ãããã Auth0 ã»ãã·ã§ã³ãæå¹ãªéã«ãã¦ã¼ã¶ãã¦ããã¼ãµã«ãã°ã¤ã³ã®ãã¼ã¸ã«ã¢ã¯ã»ã¹ãã¦ããèªè¨¼æ å ±ã®å ¥åã¯æ±ãããã¾ãããèªè¨¼æ¸ã¿ã®ç¶æ ã§ãããæ°ãã ID ãã¼ã¯ã³ãçºè¡ããã¾ãã
次ã®å³ã¯ãã¢ããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ãããå¾ã®ã»ãã·ã§ã³ã®ç¶æ ã表ãã¦ãã¾ãã:
ãã®ãã°ã¢ã¦ãã®ã¿ã¤ããã¢ããªã±ã¼ã·ã§ã³ã«é©ãã¦ãããã¯ãèªèº«ã§å¤æé ãå¿ è¦ãããã¾ããã¦ã¼ã¹ã±ã¼ã¹ãæä¾ãããã¦ã¼ã¶ä½é¨ãå ã«å¤æãã¦ãã ããã
Auth0 ã®ãã°ã¢ã¦ã
ã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ã§ãã°ã¢ã¦ãããéã« Auth0 ã®ã»ãã·ã§ã³ãã¢ã¯ãã£ããªã¾ã¾ã«æ®ããããªãå ´åãã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã·ã§ã³ã¨ Auth0 ã®ã»ãã·ã§ã³ã®ä¸¡æ¹ãçµäºãããå¿ è¦ãããã¾ãã
ããã¾ã§èª¬æãã¦ããéããã¢ããªã±ã¼ã·ã§ã³ããã°ã¢ã¦ãå¦çã®å®è£ ããã®ã¯éçºè ã®å½¹å²ã¨ãªãã¾ããã¦ã¼ã¶ã® Auth0 ã»ãã·ã§ã³ãçµäºãããã«ã¯ãã¢ããªã±ã¼ã·ã§ã³ã Auth0 ãã°ã¢ã¦ã ã¨ã³ããã¤ã³ã ãå¼ã³åºãå¿ è¦ãããã¾ããããããã¨ããã以éã¦ã¼ã¶ãã¦ããã¼ãµã«ãã°ã¤ã³ã®ãã¼ã¸ã«ã¢ã¯ã»ã¹ããã¨ãèªè¨¼æ å ±ã®å ¥åãæ±ãããã¾ãã
è¨ãæããã¨ãã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ã®ãã°ã¢ã¦ããã¿ã³ãã¯ãªãã¯ããã¨ãã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã·ã§ã³ãçµäºããã¦ãAuth0 ãã°ã¢ã¦ã ã¨ã³ããã¤ã³ããå¼ã³åºããã¨ã«ãªãã¾ãã
ç¾å¨ãAuth0 ã¯æ°ããæä¾ãéå§ãã OIDC ãã°ã¢ã¦ã ã¨ã³ããã¤ã³ã ã¨å¾æ¥ããæä¾ãã¦ãã Auth0 ãã°ã¢ã¦ã ã¨ã³ããã¤ã³ã ã® 2 種é¡ã®ãã°ã¢ã¦ã ã¨ã³ããã¤ã³ãããµãã¼ããã¦ãã¾ãã
次ã®å³ã¯ãã¢ããªã±ã¼ã·ã§ã³ã¨ Auth0 ãããã°ã¢ã¦ãããå¾ã®ã»ãã·ã§ã³ã®ç¶æ ã表ãã¦ãã¾ãã:
ãã®ãã°ã¢ã¦ãã¿ã¤ãããã¼ãºã«é©ãã¦ããã確èªãã¦ãã ããã
ãã§ãã¬ã¼ããã ãã°ã¢ã¦ã (Federated logout)
Auth0 ã使ç¨ã㦠Google ãªã©ã®ãµã¼ããã¼ãã£ã® ID ãããã¤ãã§ã¦ã¼ã¶ããã°ã¤ã³ã§ããããã«ããã¨ã次ã®å³ã®ãããªã»ãã·ã§ã³ãåå¨ãããã¨ã«ãªãã¾ããï¼
ã¢ããªã±ã¼ã·ã§ã³ã¨ Auth0 ã§ãã°ã¢ã¦ããå®æ½ãã¦ããIdP ã®ã»ãã·ã§ã³ã¯ã¢ã¯ãã£ããªã¾ã¾æ®ããã¨ã«ãªãã¾ãã
ã»ãã·ã§ã³ãæ®ããã¨ã¯åé¡ãªãã¨èããããã±ã¼ã¹ãããã¨æãã¾ããä¾ãã°ãå¤ãã®ã¦ã¼ã¶ã ã½ã¼ã·ã£ã«ãã°ã¤ã³ ã使ã£ã¦è¤æ°ã®ã¢ããªã±ã¼ã·ã§ã³ã«ã¢ã¯ã»ã¹ãã¦ãã¾ããã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ã«ã¢ã¯ã»ã¹ããã®ã« Google ã使ç¨ããéãæ¢ã« Gmail ããã®ä»ã® Google ã IdP ã¨ãã¦å©ç¨ãã¦ããä»ã®ã¢ããªã±ã¼ã·ã§ã³ãéãã¦ããå¯è½æ§ãé«ãã§ãããã®æ§ãªæã«ã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ããã°ã¢ã¦ããã¦ããã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã·ã§ã³ã¨ Auth0 ã®ã»ãã·ã§ã³ããçµäºãããªããã°ãGmail ã Google ãéãã¦ãã°ã¤ã³ããä»ã®ã¢ããªã±ã¼ã·ã§ã³ãç¶ç¶ãã¦å©ç¨ã§ãã¾ãã
ããããªããããã®ã¢ããã¼ããé©åã§ã¯ãªãã±ã¼ã¹ãããã¾ãããµã¼ããã¼ãã£ã® IdP ãã½ã¼ã·ã£ã«ãããã¤ãã§ã¯ãªããä¼æ¥ã® IdP ã§ããå ´åãèãã¦ã¿ã¦ãã ãããã¦ã¼ã¶ã¼ãã¢ããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ãããéã«ãä¼æ¥ã® IdP ããããã°ã¢ã¦ãããããã¨ãæã¾ããã¨ããä¼æ¥ãããããããããã¾ããããã§ãã¬ã¼ããã ãã°ã¢ã¦ã ã¯ãã®è¦æãå®ç¾ã§ãã¾ãããã®å ´åã«ãããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ãã«é¢ä¿ããã»ãã·ã§ã³ã¯æ¬¡ã®å³ã®ããã«ãªãã¾ããï¼
å ¨ã¦ã®ãµã¼ããã¼ã㣠IdP ã§ãã§ãã¬ã¼ããã ãã°ã¢ã¦ãããµãã¼ããã¦ããããã§ã¯ããã¾ããã ã©ã® IdP ããµãã¼ããã¦ããã㯠ãã¡ã ã確èªãã¦ãã ããã
ãã§ãã¬ã¼ããã ãã°ã¢ã¦ãã¯ã¦ã¼ã¶ä½é¨ãæªåãããå ´åãããã¾ããã¢ããªã±ã¼ã·ã§ã³ã§ãã°ã¢ã¦ãæä½ãããæã«ãã¢ããªã±ã¼ã·ã§ã³ã¨ Auth0 ãããã°ã¢ã¦ãããããã¨ã¯ã¦ã¼ã¶ã«ã¨ã£ã¦äºæ³ãããåä½ã§ããããµã¼ããã¼ãã£ã® IdP ããããã°ã¢ã¦ãããããã¨ã¯ã¦ã¼ã¶ã«ã¨ã£ã¦äºæ³ããªãåä½ã§ãè¿·æã«ãããªããã¨ãããã¾ããã¢ããªã±ã¼ã·ã§ã³ã«ã¢ã¯ã»ã¹ããããã« Google ã使ç¨ãã¦ããã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ãããã¨ãGmail ã«ãã¢ã¯ã»ã¹ã§ããªããªããã¨ãæ³åãã¦ã¿ã¾ããããã§ãã®ã§ããµã¼ããã¼ãã£ã® IdP ããããã°ã¢ã¦ããããå ´åã¯ãã¦ã¼ã¶ãèªèã§ããããã«ãã¹ãã§ããä¾ãã°ããµã¼ããã¼ã㣠IdP ãããã°ã¢ã¦ãããåã«ç¢ºèªãæ±ããããã«ãããã¨ãã§ãã¾ãããããã¯ããã°ã¢ã¦ãæã«ãµã¼ããã¼ã㣠IdP ããããã°ã¢ã¦ããããã©ããã¦ã¼ã¶ã¼ãé¸æã§ããããã«å®è£ ãããã¨ãã§ãã¾ãã
ã°ãã¼ãã« ãã°ã¢ã¦ã ããã㯠ã·ã³ã°ã«ãã°ã¢ã¦ã
ããã¾ã§ç´¹ä»ãããã°ã¢ã¦ãã®ã·ããªãªã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ã 1 ã¤ã§ã¦ã¼ã¶ããã®ã¢ããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ããããã¨ãæ³å®ãã¦ãã¾ãããã§ã¯åãèªè¨¼ã»ãã·ã§ã³ã«è¤æ°ã®ã¢ããªã±ã¼ã·ã§ã³ãé¢ä¸ãã¦ããå ´åã¯ã©ããªãã§ããããï¼ã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãªããµã¼ããã¼ãã£ã® IdP ãããã°ã¢ã¦ãããå ´åã¯ã©ããªãã§ãããã? æã¾ããåä½ã¯ä½ã§ããããï¼
次ã®å³ã¯ããã®ã·ããªãªã表ãã¦ãã¾ãã:
ãã®å³ã§ã¯ 2 ã¤ã®ã¢ããªã±ã¼ã·ã§ã³ï¼ã¢ããªã±ã¼ã·ã§ã³ A ã¨ã¢ããªã±ã¼ã·ã§ã³ Bï¼ãåãèªè¨¼ã»ãã·ã§ã³ï¼Auth0 ã»ãã·ã§ã³ã¨ãµã¼ããã¼ã㣠IdP ã»ãã·ã§ã³ï¼ãå ±æãã¦ããç¶æ³ã¨ãªã£ã¦ãã¾ãã
ãã®ã·ããªãªã¯ããµã¼ããã¼ãã£ã® IdP ããªãã¦ãåããããªç¶æ³ã§ããããããããµã¼ããã¼ãã£ã® IdP ãå«ã¾ãããã¨ã§ãã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãªããµã¼ããã¼ãã£ã® IdP ãããã°ã¢ã¦ãããã±ã¼ã¹ã表ãã¦ãã¾ãã
åè¿°ã®ããã«ãã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ã® 1 ã¤ãããã°ã¢ã¦ãããã IdP ãããã°ã¢ã¦ããããããæã«ãã©ã®ããã«ããããã¯ã¦ã¼ã¹ã±ã¼ã¹ã«ãã£ã¦ç°ãªãã¨æãã¾ããä½ãè¡ããã«ä»ã®ã¢ããªã±ã¼ã·ã§ã³ã使ãç¶ããããæ§ã«ãããå ´åãããã°ãã¦ã¼ã¹ã±ã¼ã¹ãã£ã¦ã¯ä»ã®ã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã·ã§ã³ãçµäºããããå ´åãããã¨æãã¾ãã
ä»ã®ã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã·ã§ã³ãçµäºããããã°ã¢ã¦ãã¯é常ã°ãã¼ãã«ãã°ã¢ã¦ã (Global Logout)ããããã¯åæ£ãã°ã¢ã¦ã (Distributed Logout) ã¨å¼ã°ãã¾ããè¦æ¹ã«ãã£ã¦ã¯ã ã·ã³ã°ã«ãµã¤ã³ãªã³ (Single Sign-On, SSO) ã¨å¯¾ã«ãªããã®ã¨ã¨ããããã¨ãã§ãã¾ãããã®ãã¨ãããç¹ã« SAML ã§ã¯ã·ã³ã°ã«ãã°ã¢ã¦ã (Single Logout, SLO) ã¨ãã¦ãç¥ããã¦ãã¾ãã
åºæ¬çã«ã¯ã¦ã¼ã¶ãåãèªè¨¼ã»ãã·ã§ã³ãå ±æããã¢ããªã±ã¼ã·ã§ã³ã® 1 ã¤ãããã°ã¢ã¦ãããã¨ããã°ã¢ã¦ãè¦æ±ãä»ã®ã¢ããªã±ã¼ã·ã§ã³ã«éä¿¡ããã¾ãããããã©ã®ããã«å®ç¾ãããã¯ããããã³ã«ï¼SAMLãOIDC ãªã©ï¼ãæåã®ãã°ã¢ã¦ããè¡ãããå ´æï¼ã¢ããªã±ã¼ã·ã§ã³ã® 1 ã¤ã¾ã㯠IdPï¼ãã¢ããªã±ã¼ã·ã§ã³ã®ã¿ã¤ãï¼ä¸è¬ç㪠Web ã¢ããªã±ã¼ã·ã§ã³ãSPAï¼ã«ãã£ã¦æ¹æ³ãç°ãªãã¾ãããã®è¨äºã§ã¯ç´¹ä»ãã¾ããããããèå³ãããå ´åã¯ä»¥ä¸ã®ããã¥ã¡ã³ããã覧ãã ãããï¼
- OpenID Connect Session Management: ã¦ã¼ã¶ã®èªè¨¼ç¶æ³ãç©æ¥µçã«ç¢ºèªãã¦ã°ãã¼ãã«ãã°ã¢ã¦ããå®è£ ãã OIDC ä»æ§
- OpenID Connect Front-Channel Logout: ã¢ããªã±ã¼ã·ã§ã³ã«ã»ãã·ã§ã³ãçµäºãããããã«ãã©ã¦ã¶ã§éç¥ãã¦ã°ãã¼ãã«ãã°ã¢ã¦ããå®è£ ãã OIDC ä»æ§
- OpenID Connect Back-Channel Logout: ã¢ããªã±ã¼ã·ã§ã³ã«ã»ãã·ã§ã³ãçµäºãããããã« IdP ãéç¥ãã¦ã°ãã¼ãã«ãã°ã¢ã¦ããå®è£ ãã OIDC ä»æ§
- Best Practices for Application Session Management: èªè¨¼æ¸ã¿ã»ãã·ã§ã³ã確èªãããçµäºãããããããã¹ããã©ã¯ãã£ã¹ã«ã¤ãã¦ã® Auth0 ããã°è¨äº
ãã¡ãããã°ãã¼ãã«ãã°ã¢ã¦ãã¯ãã§ãã¬ã¼ããã ãã°ã¢ã¦ãã¨åæ§ã«ã¦ã¼ã¶ä½é¨ã®åé¡ãå¼ãèµ·ããå¯è½æ§ãããããã注æãå¿ è¦ã§ãã
訳註: Auth0 㯠2023å¹´10æ3æ¥ ãããOpenID Connect Back-Channel Logout ããµãã¼ããã¾ããã詳ãã㯠ããã¥ã¡ã³ã ãã覧ãã ããã
ãã°ã¢ã¦ãã®å¾
è¤éåããã·ããªãªã«å¯¾å¿ããããã«ãééããå¯è½æ§ã®ããæ§ã ãªã¿ã¤ãã®ãã°ã¢ã¦ããç´¹ä»ãã¦ãã¾ãããæå¾ã«ãã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ãããå¾ã¯ã©ããªãã§ãããã? èªè¨¼ãããã»ãã·ã§ã³ã¯çµäºããã®ã§ãã¦ã¼ã¶ã¯ã¢ããªã±ã¼ã·ã§ã³ã®ä¿è·ããããã¼ã¸ã«ã¢ã¯ã»ã¹ãã権éããªããªãã¾ããã¦ã¼ã¶ã¯ã©ãã«ãªãã¤ã¬ã¯ããããã®ã§ããããï¼
ããã¯ä¸»ã«ã©ã®ãããªã¦ã¼ã¶ã¼ä½é¨ã«ãããã®é¸æã§ããã¦ã¼ã¶ã¼ãã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã ãã¼ã¸ãç¹å®ã®ãã¼ã¸ãã¾ãã¯èªè¨¼ãã¼ã¸ï¼ããªãã¡ã¦ããã¼ãµã«ãã°ã¤ã³ã®ãã¼ã¸ï¼ã«ãªãã¤ã¬ã¯ããããã¨ãã§ãã¾ããé¸æã®éã«ã¯èæ ®ãã¹ãç¹ãããã¤ãããã¾ãã:
- Auth0 ãå«ãã¦ãã°ã¢ã¦ãããï¼ã¤ã¾ãã¢ããªã±ã¼ã·ã§ã³ã ãã®ãã°ã¢ã¦ãã§ã¯ãªãï¼å ´åã¯ãã¦ã¼ã¶ããªãã¤ã¬ã¯ãããå ãæå®ããå¿ è¦ãããã¾ããæå®æ¹æ³ã¯ OIDC ãã°ã¢ã¦ã ã¨ã³ããã¤ã³ã ã¾ã㯠Auth0 ãã°ã¢ã¦ã ã¨ã³ããã¤ã³ã ã確èªãã¦ãã ããã
- Auth0 ã®ã¢ããªã±ã¼ã·ã§ã³è¨å®ã® Allowed Logout URLs ã«ãã¦ã¼ã¶ããªãã¤ã¬ã¯ããããã¼ã¸ã®URLãè¨å®ãã¾ãããã㯠URL ã¤ã³ã¸ã§ã¯ã·ã§ã³æ»æãé²ãããã®ã»ãã¥ãªãã£å¯¾çã§ãã
- ã¢ããªã±ã¼ã·ã§ã³ã®ãã°ã¢ã¦ãã®ã¿ãè¡ãããããã¯ããµã¼ããã¼ãã£ã® IdP ã使ã£ãèªè¨¼ãã¦ã¼ã¶ã«æä¾ããããã§ãã¬ã¼ããããã°ã¢ã¦ãã¯ä½¿ç¨ããªãå ´åããã°ã¢ã¦ãå¾ã«ã¦ã¼ã¶ãä¿è·ããã¦ããªããã¼ã¸ã«ãªãã¤ã¬ã¯ãããããã«ãã¦ãã ãããããããªããã°ãæ®ã£ã¦ãã Auth0 ã¾ã㯠IdP ã®ã¢ã¯ãã£ããªèªè¨¼ã»ãã·ã§ã³ãã¦ã¼ã¶ãåèªè¨¼ãã¦ãã¢ããªã±ã¼ã·ã§ ã³ã®èªè¨¼æ¸ã¿ã»ãã·ã§ã³ãèªåçã«ä½æããã¾ãããããªã£ã¦ãã¾ãã¨ãã¦ã¼ã¶ã¯ã¢ããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ãã§ããªããªã£ã¦ãã¾ãã¾ãã
ã¾ã¨ã
ãã®è¨äºã§ã¯ãã°ã¢ã¦ãã«é¢é£ããããã¤ãã®è³ªåãããã¦é ãã¾ããããããã®è³ªåã¯ãã°ã¢ã¦ãã®å®è£ ãé¸æããéã®æ¤è¨ã«å½¹ç«ã¤ã¨æãã¾ããåç´ãªã¢ããªã±ã¼ã·ã§ã³ã®ãã°ã¢ã¦ãã§ååãªã·ããªãªããå§ã¾ããè¤æ°ã®ã¢ããªã±ã¼ã·ã§ ã³ãããã°ãã¼ãã«ãã°ã¢ã¦ããå¿ è¦ãªã·ããªãªãæå¾ã«ç´¹ä»ãã¾ããã
ãã°ã¢ã¦ãã®è¤éããç解ãã¦ããã ããã¨æãã¾ããæåã¯ç°¡åã«æããããããã¾ããããè¤æ°ã®ã¢ããªã±ã¼ã·ã§ã³ãè¤æ°ã® IdP ãç»å ´ããã·ããªãªã§ã¯ãé常ã«é£ãããªãã¾ãããã®è¤éãã«å¯¾å¦ããæ¹æ³ã¯ã¦ã¼ã¶ãã¢ããªã±ã¼ã·ã§ã³ãããã°ã¢ã¦ãã§ããªããã (åè: The impossibility of logging off äºã§ã¯ãªãã¨æãã¾ãã
ãã²ãAuth0 ã§ã¦ã¼ã¶ä½é¨ãéè¦ãããã°ã¤ã³ã®å®è£ ã試ãã¦ã¿ã¦ãã ããã
Auth0 ãå§ãã â(è±èªããã°ããã®ç¿»è¨³: ã½ãªã¥ã¼ã·ã§ã³ã¨ã³ã¸ã㢠辻 義ä¸)
About the author
Andrea Chiarelli
Principal Developer Advocate
I have over 20 years of experience as a software engineer and technical author. Throughout my career, I've used several programming languages and technologies for the projects I was involved in, ranging from C# to JavaScript, ASP.NET to Node.js, Angular to React, SOAP to REST APIs, etc.
In the last few years, I've been focusing on simplifying the developer experience with Identity and related topics, especially in the .NET ecosystem.