Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SPAとWebアプリケーションでCognitoの使い方はどう変わるのか? / How do w...
Search
Kitano Yuichi
July 29, 2022
Technology
7.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SPAとWebアプリケーションでCognitoの使い方はどう変わるのか? / How do we use cognito with SPA and web applications?
Kitano Yuichi
July 29, 2022
More Decks by Kitano Yuichi
See All by Kitano Yuichi
CognitoでWebアプリケーション(not SPA)に ログインさせたい時、何を作らなくてはならないのか? / What do I create when I want to log in to a web application with Amazon Cognito?
kitano_yuichi
1
3.8k
AWS Glueを使ってRDSからS3+Athena環境を作ってみよう / Let's create Athena from RDS using AWS Glue
kitano_yuichi
1
9.1k
オンプレとVPCをつなぐ環境のUpdate/re:Cap connecting on-premises and vpc
kitano_yuichi
0
1.7k
Other Decks in Technology
See All in Technology
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
1.1k
プロンプト_きのこカンファレンス2026_LT
yurufuwahealer
0
140
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
150
金融の未来を考える / Thinking About the Future of Finance
ks91
PRO
0
180
生成AIの活用/high_school2026
okana2ki
0
110
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
330
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
270
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
0
1.6k
美しいコードを書くためにF#を学んでみた話
yud0uhu
1
280
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
250
20260702_生成AIはどこまで成長するのか_チャットだけじゃない世界
doradora09
PRO
0
110
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
2.5k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.9k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
350
Ethics towards AI in product and experience design
skipperchong
2
320
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
370
Git: the NoSQL Database
bkeepers
PRO
432
67k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
500
Transcript
"84ࣄۀຊ෦ίϯαϧςΟϯά෦༎Ұ 41"ͱ8FCΞϓϦέʔγϣϯͰ $PHOJUPͷ͍ํͲ͏มΘΔͷ͔ʁ
ࣗݾհ • ༎Ұʢ,*5"/0:VJDIJʣ • Ϋϥεϝιουגࣜձࣾ • "84ࣄۀຊ෦ίϯαϧςΟϯά෦ • "1/"--"84$FSUJGJDBUJPOT&OHJOFFST
• ͖ͳ"84αʔϏε • "84$-* • $PHOJUP
CognitoͬͯͲ͏͍͏ ΠϝʔδͰ͔͢ʁ🤔
$PHOJUPͰΑ͘ฉ͘ w Կ͔ೝূʹ͏αʔϏε w ೝূʹ͏ͷΘ͔Δ͚Ͳɺ࣮ࡍͲ͏ͬͯࣗୡͷ ΞϓϦέʔγϣϯʹΈࠐΜͩΒྑ͍ͷ͔Θ͔Βͳ͍ w (PPHMFϩάΠϯͱ͔Ͱ͖ΔΒ͍͚͠Ͳɺ
Ͳ͏ͬͯͬͨΒ͍͍ͷ͔Θ͔Βͳ͍
ࠓճͷత CognitoΛ WebαʔϏεͷೝূͱͯ͠͏ʹ Ͳ͏͍͏ߏ͕ඞཁ͔ཧղ͢Δ
ຊ͓͢Δ͜ͱ w 8FCΞϓϦέʔγϣϯͰ$PHOJUPΛ༻͢Δํ๏ w 41"Ͱ$PHOJUPར༻࣌ͷೝূͷྲྀΕ w ैདྷܕ8FCαΠτͰ$PHOJUPར༻࣌ͷೝূͷྲྀΕ ʲ͞ͳ͍͜ͱʳ w
$PHOJUPΛ͏ͨΊͷ۩ମతͳઃఆ
$PHOJUPͷར༻ํ๏ w େ͖͘Θ͚ͯ̎௨Γͷ͍ํ͕͋Γ·͢ w 41"ʢ4JOHMF1BHF"QQMJDBUJPOʣʴόοΫΤϯυ"1* w ैདྷܕ8FCαΠτ
41"ͱ w ୯ҰͷϖʔδͰ8FCΞϓϦέʔγϣϯΛ ߏ͢ΔγεςϜ w ௨ৗKBWBTDSJQUʢ3FBDU 7VFʣΛར༻ͯ͠ಈతʹ
දࣔɺϖʔδભҠΛ੍ޚ͢ΔɻϩάΠϯϢʔβʔͷ ݸผσʔλόοΫΤϯυ"1*͔Βಈతʹऔಘ͢Δɻ
41"ͷ"84ߏྫ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
41"༻ͷ ੩తϖʔδऔಘ ೝূτʔΫϯ όοΫΤϯυ"1* ಈతΞΫηε ʢ*".ೝՄʣ $PHOJUP *%ϓʔϧ "84Ұ࣌ ΫϨσϯγϟϧΩʔऔಘ
41"ͷ$PHOJUPͰͷೝূσϞ
41"ͷೝূͷྲྀΕᶃ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ 41"༻ͷ ੩తϖʔδऔಘ ϩάΠϯը໘ͷදࣔ
41"ͷೝূͷྲྀΕᶄ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘͯ͠อଘ
41"ͷೝূͷྲྀΕᶅ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ *%τʔΫϯ͔Β"84Ұ࣌ ΫϨσϯγϟϧΩʔͷऔಘ
41"ͷೝূͷྲྀΕᶆ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ "84Ұ࣌ΫϨσϯγϟϧΩʔ͔Β 4JH7ॺ໊Λ࡞ όοΫΤϯυ"1*ϦΫΤετ
41"ͷ$PHOJUPͷ)PTUFE6*ͰͷೝূσϞ
RVJ w 0"VUIΛͬͨαʔυύʔςΟΞϓϦʢ(PPHMF 'BDFCPPLʣͰϩάΠϯͰ͖ΔΑ͏ʹͳΔ ͍ΘΏΔ(PPHMFͰϩάΠϯ͕ ͑ΔΑ͏ʹͳΔ )PTUFE6*ͷ(PPHMFϩάΠϯϘλϯΛ ΫϦοΫͨ࣌͠ͱಉ༷ͷಈ࡞Λ͢Δ
)PTUFE6*Λར༻͢Δͱ͖ͱಉ༷ͷઃఆ͕ඞཁ
41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶃ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ 41"༻ͷ ੩తϖʔδऔಘ ϩάΠϯը໘ϦμΠϨΫτ Ϙλϯͷදࣔ
41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶄ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ ʢ)PTUFE6*ʣ "1*(BUFXBZ BNQMJGZKT 64&3
-BNCEB $PHOJUP *%ϓʔϧ 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*ϦμΠϨΫτ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯݩͷը໘ϦμΠϨΫτ
41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶅ $MPVE'SPOU 4 "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB $PHOJUP *%ϓʔϧ
KBWBTDSJQUͰಈతʹ ϦμΠϨΫτʹΑΓड͚औͬͨೝՄίʔυΛݩʹ ֤छτʔΫϯΛ$PHOJUP͔Βऔಘͯ͠อଘ $PHOJUP Ϣʔβʔϓʔϧ
41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶆ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ *%τʔΫϯ͔Β"84Ұ࣌ ΫϨσϯγϟϧΩʔͷऔಘ
41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶇ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ "84Ұ࣌ΫϨσϯγϟϧΩʔ͔Β 4JH7ॺ໊Λ࡞ όοΫΤϯυ"1*ϦΫΤετ
41"Ͱ$PHOJUPͷೝূ·ͱΊ w BNQMJGZKTͰ6*࡞Δɺ·ͨ)PTUFE6*Λར༻͢Δ w (PPHMFϩάΠϯΛ͍ͨ͠߹ɺ )PTUFE6*Λར༻͢ΔͨΊͷઃఆ͕ඞਢ w ͦΕͧΕೝূϑϩʔҟͳΔ͕BNQMJGZKTΛ͑
ͦͷೝূϑϩʔΛ͍͍ײ͡ʹղܾͯ͘͠ΕΔ
ʲ༨ஊᶃʳ)PTUFE6*Λར༻ͨ͠ೝূϑϩʔͷৄࡉ w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTMFBSOBVUIFOUJDBUJPOVTJOH DPHOJUPTIPTUFEVJXJUIBNQMJGZ ͪ͜Βͷϒϩά ղઆ͍ͯ͠·͢
ैདྷܕ8FCαΠτͱ w ΞΫηε͢ΔͱαʔόʔଆͰಈతʹ8FCαΠτͷද ࣔ)5.-Λੜ͠ɺϒϥβʹϨεϙϯε͢Δैདྷܕ ͷ8FCαΠτɻ w ௨ৗ8FCϑϨʔϜϫʔΫʢ3VCZPO3BJMT %KBOHP
ʜFUDʣΛ༻͍ͯ։ൃ͢Δ
Public subnet ैདྷܕ8FCαΠτͷ"84ߏྫ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ηογϣϯͰ ϢʔβʔΛࣝผ ೝূτʔΫϯ ηογϣϯ%#
ैདྷܕ8FCαΠτͷ$PHOJUPͰͷೝূσϞ
Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶃ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ αʔόʔଆͰϩάΠϯը໘ͷੜ ϩάΠϯը໘ͷදࣔ
Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶄ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυͷೖྗ 'PSNͰαʔόʔ1PTU
Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶅ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘ
Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶆ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯใͱඥ͚ͯ ηογϣϯ%#อଘ
Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶇ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ϩάΠϯޙը໘ͷදࣔ ηογϣϯͰϢʔβʔࣝผ
Public subnet ʲ࠶ܝʳैདྷܕ8FCαΠτͷೝূͷྲྀΕᶅ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘ 41"ͰBNQMJGZKT͕ೝূϑϩʔΛ ͏·͍͜ͱ࣮ߦͯ͘͠Ε·ͨ͠ɻ ैདྷܕ8FCαΠτͰೝূϑϩʔΛཧղ͠ɺ ೝূϑϩʔʹԊͬͯࣗͰ࣮͢Δ ඞཁ͕͋Γ·͢ɻ
$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ϑΝϯΫγϣϯ͕τϦΨʔ͞ΕɺࣗͰೝূϑϩʔΛࣗ༝ʹ ઃఆͰ͖Δೝূϑϩʔɻ
$PHOJUPͷೝূϑϩʔͱઃఆ w લड़ͷೝূϑϩʔΛ͏߹ɺ$PHOJUPͷઃఆͰ ༻ΛڐՄ͢Δඞཁ͕͋Δɻ
"%.*/@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ʜ ^ ʜ ^ ֤छτʔΫϯ
۩ମతͳ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
ʲ༨ஊᶄʳ"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
ैདྷܕ8FCαΠτͷ$PHOJUPͷ)PTUFE6*ͰͷೝূσϞ
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶃ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ αʔόʔଆͰϩάΠϯը໘ͷੜ ϩάΠϯը໘ϦμΠϨΫτϘλϯͷදࣔ
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶄ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUPϢʔβʔϓʔϧ ʢ)PTUFE6*ʣ 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*ϦμΠϨΫτ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯ$BMMCBDL63-ϦμΠϨΫτ
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶅ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ $BMMCBDL63-ͷϦμΠϨΫτʹΑΓ ೝՄίʔυΛαʔόʔ͢ DBMMCBDL
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶆ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ೝՄίʔυΛݩʹ ֤छτʔΫϯΛऔಘ
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶇ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯใͱඥ͚ͯ ηογϣϯ%#อଘ
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶈ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ϩάΠϯޙը໘ϦμΠϨΫτͯ͠දࣔ ηογϣϯͰϢʔβʔࣝผ IFMMP
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ೝূϑϩʔʹԊͬͯࣗͰ࣮͢Δ ඞཁ͕͋Γ·͢ɻ
$PHOJUPͷ0"VUIೝূϑϩʔ 0"VUIೝূϑϩʔ໊ આ໌ "VUIPSJ[BUJPODPEFHSBOU ʢೝՄίʔυͷڐՄʣ جຊతʹ༻͕ਪ͞ΕΔϑϩʔɻ ैདྷܕ8FCαΠτͷΑ͏ʹαʔόʔΛհͯ͠τʔΫϯΛऔಘ͢Δ߹ɺ ௨ৗΫϥΠΞϯτγʔΫϨοτΛઃఆͯ͠ར༻͢Δɻ 41"ͷΑ͏ʹϢʔβʔ͕τʔΫϯΛऔಘ͢Δ߹1,$&Λซ༻͢Δ͜
ͱ͕ਪ͞ΕΔɻ *NQMJDJUHSBOU ʢ҉తͳڐՄʣ "VUIPSJ[BUJPODPEFHSBOUͷ༻͕ෆՄೳͳ߹બ͢Δɻ 1,$&Λซ༻ͨ͠"VUIPSJ[BUJPODPEFHSBOUͷ༻͕ਪ͞ΕΔɻ $MJFOUDSFEFOUJBMHSBOU ʢΫϥΠΞϯτೝূใͷڐՄʣ ϚγϯؒͷτʔΫϯަ͢Δࡍʹ༻͢Δೝূϑϩʔɻ ࠓճͷΑ͏ͳΤϯυϢʔβʔ͕ೝূʹ͏ϑϩʔͰͳ͍ɻ
$PHOJUPͷ0"VUIೝূϑϩʔͱઃఆ w લड़ͷ0"VUIೝূϑϩʔΛ͏߹ɺ$PHOJUPͷ ઃఆͰ༻ΛڐՄ͢Δඞཁ͕͋Δɻ ʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙ • ೝূίʔυ༩ =
Authorization code grant • ҉తͳ༩ =Implicit grant
ैདྷܕ8FCαΠτͰ$PHOJUPͷೝূ·ͱΊ w ϩάΠϯ6*ΛࣗͰ࡞Δɺ·ͨ)PTUFE6*Λར༻ ͢Δ w (PPHMFϩάΠϯΛ͍ͨ͠߹ɺ )PTUFE6*Λར༻͢ΔͨΊͷઃఆ͕ඞਢ w
$PHOJUPͷೝূϑϩʔΛཧղͯ͠ɺࣗͰ࣮͢Δඞ ཁ͕͋ΓɺBNQMJGZKT͕͑Δ41"ΑΓқ͕ߴ ͍
Public subnet ʲ൪֎ʳ"-# $PHOJUPೝূͷ"84ߏྫ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ೝূ࿈ܞ ηογϣϯ%#
"-# $PHOJUPೝূͰͷೝূσϞ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶃ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ "-#ΞΫηε 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*ϦμΠϨΫτ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶄ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯ "-#ͷ$BMMCBDL63-ϦμΠϨΫτ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶅ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ $BMMCBDL63-ͷϦμΠϨΫτʹΑΓ ೝՄίʔυΛ"-#͢
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶆ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ೝՄίʔυΛݩʹ֤छτʔΫϯΛऔಘ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶇ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯใͱඥ͚ͯอଘ "-#ͷηογϣϯ%# ͷ༷ͳͷ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶈ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ΞΫηετʔΫϯɺϢʔβʔใʢTVCΫϨʔϜʣΛ )551ϔομʔʹՃͯ͠&$ΞΫηε "-#ͷηογϣϯ%# ͷ༷ͳͷ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶉ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ αʔόʔ͕ը໘Λੜ ϩάΠϯޙը໘Λදࣔ "-#ͷηογϣϯ%# ͷ༷ͳͷ
w "-#ͱ$PHOJUPͷઃఆ͓͚͑ͯ͞͠ɺ "-#͕0"VUIೝূϑϩʔΛ͍͍ײ͡ʹͬͯ͘Ε·͢ "-# $PHOJUPೝূͷ0"VUIೝূϑϩʔ w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTBMCDPHOJUPVTFSQPPM ઃఆͷํ
ͪ͜ΒͷϒϩάΛ ͝ࢀর͍ͩ͘͞
"-# $PHOJUPೝূͰ&$ଆ͢ใ w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTIUUQIFBEFSTBEEFECZBMC BOEDPHOJUPBSFFYQMBJOFE ͪ͜Βͷϒϩά ղઆ͍ͯ͠·͢ w Ϣʔβʔใ"-#͕)551ϔομʔՃͯ͠
͍ͯ͠·͢
·ͱΊ w $PHOJUPΛ8FCΞϓϦͷೝূͰ͏ʹʜ w 41"ͷ߹ɺBNQMJGZKTΛར༻͢Δ w ैདྷܕ8FCαΠτͷ߹ɺೝূϑϩʔΛཧղࣗ͠Ͱ࣮ w (PPHMFϩάΠϯ͍͍ͨ߹ɺ)PTUFE6*Λར༻