Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SPAとWebアプリケーションでCognitoの使い方はどう変わるのか? / How do we use cognito with SPA and web applications?

SPAとWebアプリケーションでCognitoの使い方はどう変わるのか? / How do we use cognito with SPA and web applications?

Kitano Yuichi

July 29, 2022
Tweet

More Decks by Kitano Yuichi

Other Decks in Technology

Transcript

  1.  "84ࣄۀຊ෦ίϯαϧςΟϯά෦๺໺༎Ұ 41"ͱ8FCΞϓϦέʔγϣϯͰ $PHOJUPͷ࢖͍ํ͸Ͳ͏มΘΔͷ͔ʁ

  2. ࣗݾ঺հ  • ๺໺༎Ұʢ,*5"/0:VJDIJʣ • Ϋϥεϝιουגࣜձࣾ • "84ࣄۀຊ෦ίϯαϧςΟϯά෦ • "1/"--"84$FSUJGJDBUJPOT&OHJOFFST

    • ޷͖ͳ"84αʔϏε • "84$-* • $PHOJUP
  3. CognitoͬͯͲ͏͍͏ ΠϝʔδͰ͔͢ʁ🤔 

  4. $PHOJUPͰΑ͘ฉ͘࿩  w Կ͔ೝূʹ࢖͏αʔϏε w ೝূʹ࢖͏ͷ͸Θ͔Δ͚Ͳɺ࣮ࡍͲ͏΍ͬͯࣗ෼ୡͷ ΞϓϦέʔγϣϯʹ૊ΈࠐΜͩΒྑ͍ͷ͔Θ͔Βͳ͍ w (PPHMFϩάΠϯͱ͔΋Ͱ͖ΔΒ͍͚͠Ͳɺ 


    Ͳ͏΍ͬͯ࢖ͬͨΒ͍͍ͷ͔Θ͔Βͳ͍
  5. ࠓճͷ໨త  CognitoΛ WebαʔϏεͷೝূͱͯ͠࢖͏ʹ͸ Ͳ͏͍͏ߏ੒͕ඞཁ͔ཧղ͢Δ

  6. ຊ೔͓࿩͢Δ͜ͱ  w 8FCΞϓϦέʔγϣϯͰ$PHOJUPΛ࢖༻͢Δํ๏ w 41"Ͱ$PHOJUPར༻࣌ͷೝূͷྲྀΕ w ैདྷܕ8FCαΠτͰ$PHOJUPར༻࣌ͷೝূͷྲྀΕ ʲ࿩͞ͳ͍͜ͱʳ w

    $PHOJUPΛ࢖͏ͨΊͷ۩ମతͳઃఆ஋
  7. $PHOJUPͷར༻ํ๏  w େ͖͘Θ͚ͯ̎௨Γͷ࢖͍ํ͕͋Γ·͢ w 41"ʢ4JOHMF1BHF"QQMJDBUJPOʣʴόοΫΤϯυ"1* w ैདྷܕ8FCαΠτ

  8. 41"ͱ͸  w ୯ҰͷϖʔδͰ8FCΞϓϦέʔγϣϯΛ 
 ߏ੒͢ΔγεςϜ w ௨ৗKBWBTDSJQUʢ3FBDU 7VFʣΛར༻ͯ͠ಈతʹ 


    දࣔɺϖʔδભҠΛ੍ޚ͢ΔɻϩάΠϯϢʔβʔͷ 
 ݸผσʔλ͸όοΫΤϯυ"1*͔Βಈతʹऔಘ͢Δɻ
  9. 41"ͷ"84ߏ੒ྫ  $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB

    41"༻ͷ ੩తϖʔδऔಘ ೝূτʔΫϯ όοΫΤϯυ"1*΁ ಈతΞΫηε ʢ*".ೝՄʣ $PHOJUP *%ϓʔϧ "84Ұ࣌ ΫϨσϯγϟϧΩʔऔಘ
  10. 41"ͷ$PHOJUPͰͷೝূσϞ 

  11. 41"ͷೝূͷྲྀΕᶃ  $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB

    $PHOJUP *%ϓʔϧ 41"༻ͷ ੩తϖʔδऔಘ ϩάΠϯը໘ͷදࣔ
  12. 41"ͷೝূͷྲྀΕᶄ  $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB

    $PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘͯ͠อଘ
  13. 41"ͷೝূͷྲྀΕᶅ  $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB

    $PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ *%τʔΫϯ͔Β"84Ұ࣌ ΫϨσϯγϟϧΩʔͷऔಘ
  14. 41"ͷೝূͷྲྀΕᶆ  $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB

    $PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ "84Ұ࣌ΫϨσϯγϟϧΩʔ͔Β 4JH7ॺ໊Λ࡞੒ όοΫΤϯυ"1*΁ϦΫΤετ
  15. 41"ͷ$PHOJUPͷ)PTUFE6*ͰͷೝূσϞ 

  16. RVJ  w 0"VUIΛ࢖ͬͨαʔυύʔςΟΞϓϦʢ(PPHMF  'BDFCPPL౳ʣͰϩάΠϯͰ͖ΔΑ͏ʹͳΔ ͍ΘΏΔ(PPHMFͰϩάΠϯ͕ ࢖͑ΔΑ͏ʹͳΔ )PTUFE6*ͷ(PPHMFϩάΠϯϘλϯΛ ΫϦοΫͨ࣌͠ͱಉ༷ͷಈ࡞Λ͢Δ

    )PTUFE6*Λར༻͢Δͱ͖ͱಉ༷ͷઃఆ͕ඞཁ
  17. 41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶃ  $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB

    $PHOJUP *%ϓʔϧ 41"༻ͷ ੩తϖʔδऔಘ ϩάΠϯը໘ϦμΠϨΫτ Ϙλϯͷදࣔ
  18. 41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶄ  $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ ʢ)PTUFE6*ʣ "1*(BUFXBZ BNQMJGZKT 64&3

    -BNCEB $PHOJUP *%ϓʔϧ 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*΁ϦμΠϨΫτ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯݩͷը໘΁ϦμΠϨΫτ
  19. 41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶅ  $MPVE'SPOU 4 "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB $PHOJUP *%ϓʔϧ

    KBWBTDSJQUͰಈతʹ ϦμΠϨΫτʹΑΓड͚औͬͨೝՄίʔυΛݩʹ ֤छτʔΫϯΛ$PHOJUP͔Βऔಘͯ͠อଘ $PHOJUP Ϣʔβʔϓʔϧ
  20. 41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶆ  $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB

    $PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ *%τʔΫϯ͔Β"84Ұ࣌ ΫϨσϯγϟϧΩʔͷऔಘ
  21. 41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶇ  $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB

    $PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ "84Ұ࣌ΫϨσϯγϟϧΩʔ͔Β 4JH7ॺ໊Λ࡞੒ όοΫΤϯυ"1*΁ϦΫΤετ
  22. 41"Ͱ$PHOJUPͷೝূ·ͱΊ  w BNQMJGZKTͰ6*࡞Δɺ·ͨ͸)PTUFE6*Λར༻͢Δ w (PPHMFϩάΠϯ౳Λ͍ͨ͠৔߹͸ɺ 
 )PTUFE6*Λར༻͢ΔͨΊͷઃఆ͕ඞਢ w ͦΕͧΕೝূϑϩʔ͸ҟͳΔ͕BNQMJGZKTΛ࢖͑͹

    
 ͦͷೝূϑϩʔΛ͍͍ײ͡ʹղܾͯ͘͠ΕΔ
  23. ʲ༨ஊᶃʳ)PTUFE6*Λར༻ͨ͠ೝূϑϩʔͷৄࡉ  w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTMFBSOBVUIFOUJDBUJPOVTJOH DPHOJUPTIPTUFEVJXJUIBNQMJGZ ͪ͜Βͷϒϩά ղઆ͍ͯ͠·͢

  24. ैདྷܕ8FCαΠτͱ͸  w ΞΫηε͢ΔͱαʔόʔଆͰಈతʹ8FCαΠτͷද ࣔ)5.-Λੜ੒͠ɺϒϥ΢βʹϨεϙϯε͢Δैདྷܕ ͷ8FCαΠτɻ w ௨ৗ8FCϑϨʔϜϫʔΫʢ3VCZPO3BJMT  %KBOHP

    ʜFUDʣΛ༻͍ͯ։ൃ͢Δ
  25. Public subnet ैདྷܕ8FCαΠτͷ"84ߏ੒ྫ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ηογϣϯͰ ϢʔβʔΛࣝผ ೝূτʔΫϯ ηογϣϯ%#
  26. ैདྷܕ8FCαΠτͷ$PHOJUPͰͷೝূσϞ 

  27. Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶃ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ αʔόʔଆͰϩάΠϯը໘ͷੜ੒ ϩάΠϯը໘ͷදࣔ
  28. Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶄ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυͷೖྗ 'PSNͰαʔόʔ΁1PTU
  29. Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶅ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘ
  30. Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶆ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯ৘ใͱඥ෇͚ͯ ηογϣϯ%#΁อଘ
  31. Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶇ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ϩάΠϯޙը໘ͷදࣔ ηογϣϯͰϢʔβʔࣝผ
  32. Public subnet ʲ࠶ܝʳैདྷܕ8FCαΠτͷೝূͷྲྀΕᶅ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘ 41"Ͱ͸BNQMJGZKT͕ೝূϑϩʔΛ ͏·͍͜ͱ࣮ߦͯ͘͠Ε·ͨ͠ɻ ैདྷܕ8FCαΠτͰ͸ೝূϑϩʔΛཧղ͠ɺ ೝূϑϩʔʹԊͬͯࣗ෼Ͱ࣮૷͢Δ ඞཁ͕͋Γ·͢ɻ
  33. $PHOJUPͷೝূϑϩʔൈਮ  ೝূϑϩʔ໊ આ໌ "%.*/@64&3@1"44803%@"65) ʢچশɿ"%.*/@/0@431@"65)ʣ αʔόʔ͔Β࣮ߦ͢Δ͜ͱΛ૝ఆͨ͠ύεϫʔυΛૹͬͯೝূ͢Δೝূϑϩʔɻ ௨ৗΫϥΠΞϯτγʔΫϨοτΛ࢖༻͢Δɻ 64&3@431@"65) ΫϥΠΞϯτʢ41"౳ʣ͔Β࣮ߦ͢Δ͜ͱΛ૝ఆͨ͠431ϓϩτίϧͰύεϫ

    ʔυΛجʹͨ͠νϟϨϯδϨεϙϯεΛૹΓ͍͋ೝূ͢Δೝূϑϩʔɻ BNQMJGZKT͕σϑΥϧτͰ࢖༻͢Δɻ 64&3@1"44803%@"65) ΫϥΠΞϯτʢ41"౳ʣ͔Β࣮ߦ͢Δ͜ͱΛ૝ఆͨ͠ύεϫʔυΛૹͬͯೝূ͢ Δೝূϑϩʔɻ ΫϥΠΞϯτʢ41"౳ʣ͔Βͷ࣮ߦ͸643@431@"65)ͷར༻͕ਪ঑͞ΕΔɻ $6450.@"65) ೝূ࣌ʹ-BNCEBϑΝϯΫγϣϯ͕τϦΨʔ͞Εɺࣗ෼ͰೝূϑϩʔΛࣗ༝ʹ ઃఆͰ͖Δೝূϑϩʔɻ
  34. $PHOJUPͷೝূϑϩʔͱઃఆ  w લड़ͷೝূϑϩʔΛ࢖͏৔߹͸ɺ$PHOJUPͷઃఆͰ ࢖༻ΛڐՄ͢Δඞཁ͕͋Δɻ

  35. "%.*/@64&3@1"44803%@"65)ϑϩʔ  &$ $PHOJUP Ϣʔβʔϓʔϧ "ENJO*OJUJBUF"VUI TFDSFU@IBTI#BTF )."$@4)" $PHOJUP ϢʔβʔϓʔϧͷγʔΫϨοτΩʔ

    ϩάΠϯϢʔβʔ໊  $PHOJUPϢʔβʔϓʔϧͷΫϥΠΞϯτ*%   DPHOJUPBENJO*OJUJBUF"VUI \ "VUI'MPXb"%.*/@64&3@1"44803%@"65)`  6TFS1PPM*E$PHOJUPϢʔβʔϓʔϧͷϢʔβʔϓʔϧ*%  $MJFOU*E$PHOJUPϢʔβʔϓʔϧͷΫϥΠΞϯτ*%  "VUI1BSBNFUFST\ 64&3/".&ϩάΠϯϢʔβʔ໊  1"44803%ύεϫʔυ  4&$3&5@)"4)TFDSFU@IBTI  ^  ^ \ "VUIFOUJDBUJPO3FTVMU\ "DDFTT5PLFOʜ  &YQJSFT*Oʜ  5PLFO5ZQFb#FBSFS`  3FGSFTI5PLFOʜ  *E5PLFOʜ  ^  ʜ  ^ ֤छτʔΫϯ
  36. ۩ମతͳ4&$3&5@)"4)ͷܭࢉํ๏ʢQZUIPOʣ  ʲҾ༻ʳ"NB[PO$PHOJUPͷʮΫϥΠΞϯτͷγʔΫϨοτͷϋογϡΛݕূͰ͖·ͤΜʯͱ͍͏ΤϥʔΛղܾ͢Δ IUUQTBXTBNB[PODPNKQQSFNJVNTVQQPSULOPXMFEHFDFOUFSDPHOJUPVOBCMFUPWFSJGZTFDSFUIBTI import sys import hmac, hashlib, base64

    username = sys.argv[1] app_client_id = sys.argv[2] key = sys.argv[3] message = bytes(sys.argv[1]+sys.argv[2],'utf-8') key = bytes(sys.argv[3],'utf-8') secret_hash = base64.b64encode(hmac.new(key, message, digestmod=hashlib.sha256).digest()).decode() print("SECRET HASH:",secret_hash) python3 secret_hash.py <<ϩάΠϯϢʔβʔ໊>> <<CognitoϢʔβʔϓʔϧͷΫϥΠΞϯτ ID>> <<CognitoϢʔβʔϓʔϧͷΫϥΠΞϯτγʔΫϨοτ>> secret_hash.py
  37. ʲ༨ஊᶄʳ"ENJO"1*ͱඇ"ENJO"1*  w $PHOJUPͷ"1*͸ಛघ w "ENJO"1*͸ଞͷαʔϏεͱಉ༷*".3PMFͷΫϨσϯγϟϧͰ࣮ߦ w ྫɿ"ENJO*OJUJBUF"VUI "ENJO(FU6FTS w

    ඇ"ENJO"1*͸$PHOJUPϢʔβʔͷΞΫηετʔΫϯͰ࣮ߦͯ͠ɺ ͦͷϢʔβʔͷΈૢ࡞Ͱ͖Δ w ৽نϢʔβʔΛ࡞੒͢Δ4JHO6Q΍ɺ 
 ೝূͯ͠τʔΫϯΛऔಘ͢Δ*OJUJBUF"VUI͸ྫ֎ͰΞΫηετʔΫϯෆཁ w ྫɿ(FU6TFS
  38. ैདྷܕ8FCαΠτͷ$PHOJUPͷ)PTUFE6*ͰͷೝূσϞ 

  39. Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶃ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ αʔόʔଆͰϩάΠϯը໘ͷੜ੒ ϩάΠϯը໘ϦμΠϨΫτϘλϯͷදࣔ 
  40. Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶄ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUPϢʔβʔϓʔϧ ʢ)PTUFE6*ʣ 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*΁ϦμΠϨΫτ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯ$BMMCBDL63-΁ϦμΠϨΫτ
  41. Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶅ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ $BMMCBDL63-΁ͷϦμΠϨΫτʹΑΓ ೝՄίʔυΛαʔόʔ΁౉͢ DBMMCBDL
  42. Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶆ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ೝՄίʔυΛݩʹ ֤छτʔΫϯΛऔಘ
  43. Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶇ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯ৘ใͱඥ෇͚ͯ ηογϣϯ%#΁อଘ
  44. Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶈ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ϩάΠϯޙը໘΁ϦμΠϨΫτͯ͠දࣔ ηογϣϯͰϢʔβʔࣝผ IFMMP
  45. Public subnet ʲ࠶ܝʳैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶄ  64&3 VPC Private subnet Private subnet

    "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUPϢʔβʔϓʔϧ ʢ)PTUFE6*ʣ 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*΁ϦμΠϨΫτ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯ$BMMCBDL63-΁ϦμΠϨΫτ 41"Ͱ͸BNQMJGZKT͕0"VUIೝূϑϩʔΛ ͍͍ײ͡ʹ࣮ߦͯ͘͠Ε·ͨ͠ɻ ैདྷܕ8FCαΠτͰ͸0"VUIೝূϑϩʔΛཧղ͠ɺ 0"VUIೝূϑϩʔʹԊͬͯࣗ෼Ͱ࣮૷͢Δ ඞཁ͕͋Γ·͢ɻ
  46. $PHOJUPͷ0"VUIೝূϑϩʔ  0"VUIೝূϑϩʔ໊ આ໌ "VUIPSJ[BUJPODPEFHSBOU ʢೝՄίʔυͷڐՄʣ جຊతʹ࢖༻͕ਪ঑͞ΕΔϑϩʔɻ ैདྷܕ8FCαΠτͷΑ͏ʹαʔόʔΛ஥հͯ͠τʔΫϯΛऔಘ͢Δ৔߹͸ɺ ௨ৗΫϥΠΞϯτγʔΫϨοτΛઃఆͯ͠ར༻͢Δɻ 41"ͷΑ͏ʹϢʔβʔ͕τʔΫϯΛ௚઀औಘ͢Δ৔߹͸1,$&Λซ༻͢Δ͜

    ͱ͕ਪ঑͞ΕΔɻ *NQMJDJUHSBOU ʢ҉໧తͳڐՄʣ "VUIPSJ[BUJPODPEFHSBOUͷ࢖༻͕ෆՄೳͳ৔߹બ୒͢Δɻ 
 1,$&Λซ༻ͨ͠"VUIPSJ[BUJPODPEFHSBOUͷ࢖༻͕ਪ঑͞ΕΔɻ $MJFOUDSFEFOUJBMHSBOU ʢΫϥΠΞϯτೝূ৘ใͷڐՄʣ ϚγϯؒͷτʔΫϯަ׵͢Δࡍʹ࢖༻͢Δೝূϑϩʔɻ 
 ࠓճͷΑ͏ͳΤϯυϢʔβʔ͕ೝূʹ࢖͏ϑϩʔͰ͸ͳ͍ɻ
  47. $PHOJUPͷ0"VUIೝূϑϩʔͱઃఆ  w લड़ͷ0"VUIೝূϑϩʔΛ࢖͏৔߹͸ɺ$PHOJUPͷ ઃఆͰ࢖༻ΛڐՄ͢Δඞཁ͕͋Δɻ ʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙ • ೝূίʔυ෇༩ 
 =

    Authorization code grant • ҉໧తͳ෇༩ 
 =Implicit grant
  48. ैདྷܕ8FCαΠτͰ$PHOJUPͷೝূ·ͱΊ  w ϩάΠϯ6*Λࣗ෼Ͱ࡞Δɺ·ͨ͸)PTUFE6*Λར༻ ͢Δ w (PPHMFϩάΠϯ౳Λ͍ͨ͠৔߹͸ɺ 
 )PTUFE6*Λར༻͢ΔͨΊͷઃఆ͕ඞਢ w

    $PHOJUPͷೝূϑϩʔΛཧղͯ͠ɺࣗ෼Ͱ࣮૷͢Δඞ ཁ͕͋ΓɺBNQMJGZKT͕࢖͑Δ41"ΑΓ೉қ౓͕ߴ ͍
  49. Public subnet ʲ൪֎ʳ"-# $PHOJUPೝূͷ"84ߏ੒ྫ  64&3 VPC Private subnet Private

    subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ೝূ࿈ܞ ηογϣϯ%#
  50. "-# $PHOJUPೝূͰͷೝূσϞ 

  51. Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶃ  64&3 VPC Private subnet Private

    subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ "-#΁ΞΫηε 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*΁ϦμΠϨΫτ
  52. Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶄ  64&3 VPC Private subnet Private

    subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯ "-#ͷ$BMMCBDL63-΁ϦμΠϨΫτ
  53. Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶅ  64&3 VPC Private subnet Private

    subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ $BMMCBDL63-΁ͷϦμΠϨΫτʹΑΓ ೝՄίʔυΛ"-#΁౉͢
  54. Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶆ  64&3 VPC Private subnet Private

    subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ೝՄίʔυΛݩʹ֤छτʔΫϯΛऔಘ
  55. Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶇ  64&3 VPC Private subnet Private

    subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯ৘ใͱඥ෇͚ͯอଘ "-#ͷηογϣϯ%# ͷ༷ͳ΋ͷ
  56. Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶈ  64&3 VPC Private subnet Private

    subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ΞΫηετʔΫϯɺϢʔβʔ৘ใʢTVCΫϨʔϜ౳ʣΛ )551ϔομʔʹ௥Ճͯ͠&$΁ΞΫηε "-#ͷηογϣϯ%# ͷ༷ͳ΋ͷ
  57. Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶉ  64&3 VPC Private subnet Private

    subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ αʔόʔ͕ը໘Λੜ੒ ϩάΠϯޙը໘Λදࣔ "-#ͷηογϣϯ%# ͷ༷ͳ΋ͷ
  58. w "-#ͱ$PHOJUPͷઃఆ͓͚͑ͯ͞͠͹ɺ 
 "-#͕0"VUIೝূϑϩʔΛ͍͍ײ͡ʹ΍ͬͯ͘Ε·͢ "-# $PHOJUPೝূͷ0"VUIೝূϑϩʔ  w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTBMCDPHOJUPVTFSQPPM ઃఆͷ࢓ํ͸

    ͪ͜ΒͷϒϩάΛ ͝ࢀর͍ͩ͘͞
  59. "-# $PHOJUPೝূͰ&$ଆ΁౉͢৘ใ  w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTIUUQIFBEFSTBEEFECZBMC BOEDPHOJUPBSFFYQMBJOFE ͪ͜Βͷϒϩά ղઆ͍ͯ͠·͢ w Ϣʔβʔ৘ใ͸"-#͕)551ϔομʔ΁௥Ճͯ͠

    
 ౉͍ͯ͠·͢
  60. ·ͱΊ  w $PHOJUPΛ8FCΞϓϦͷೝূͰ࢖͏ʹ͸ʜ w 41"ͷ৔߹ɺBNQMJGZKTΛར༻͢Δ w ैདྷܕ8FCαΠτͷ৔߹ɺೝূϑϩʔΛཧղࣗ͠෼Ͱ࣮૷ w (PPHMFϩάΠϯ౳࢖͍͍ͨ৔߹͸ɺ)PTUFE6*Λར༻