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
Cognito User Poolsと仲良くなるための話 / cognito-user-pools
Search
Takahiro Tsuchiya
May 28, 2019
Programming
2
540
Cognito User Poolsと仲良くなるための話 / cognito-user-pools
Cognitoと仲良くなるためにAmplifyはいいぞ!という話をしました。
Takahiro Tsuchiya
May 28, 2019
Tweet
Share
More Decks by Takahiro Tsuchiya
See All by Takahiro Tsuchiya
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
9
5.4k
現場のエンジニアから見た採用担当との協働
corocn
7
3k
シリーズAをリファラル採用中心に走り抜ける / leaner-referral-engineer-2024
corocn
3
2k
捨てて加速するプロダクト開発 / sutete-speedup-product-development
corocn
3
670
リファラル採用にフルベットしてみた
corocn
3
3.7k
エンジニアとプロダクトマネージャーを兼任した1年間を振り返る / pdm-furikaeri
corocn
17
7.9k
育休のすゝめ #devsumi 2023
corocn
3
4.8k
GCPでRubyを動かしている話 / ruby on gcp
corocn
0
920
フルリモートワーカーのデスク選定 / how-to-select-remote-work-desk
corocn
1
610
Other Decks in Programming
See All in Programming
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
8
6.8k
フロントエンドテストの育て方
quramy
9
2.6k
RubyKaigiで手に入れた HHKB Studioのための HIDRawドライバ
iberianpig
0
1k
生産性アップのためのAI個人活用
kunoyasu
0
650
AI Agents with JavaScript
slobodan
0
130
ローコードサービスの進化のためのモノレポ移行
taro28
1
340
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
240
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
160
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
240
AIエージェントを活用したアプリ開発手法の模索
kumamotone
1
750
英語文法から学ぶ、クリーンな設計の秘訣
newnomad
1
270
PHPのガベージコレクションを深掘りしよう
rinchoku
0
240
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Writing Fast Ruby
sferik
628
61k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
25k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Six Lessons from altMBA
skipperchong
27
3.7k
Designing for humans not robots
tammielis
251
25k
Transcript
$PHOJUP6TFS1PPMT ͱྑ͘ͳΔͨΊͷ +"846(໊ݹೝূษڧձ ʢՐʣ 5BLBIJSP5TVDIJZB!DPSPDO
5BLBIJSP5TVDIJZB ͜ΖͪΌΜ !DPSPDO $PEFࢠ%FW0QTܥαʔϏε͕͖Ͱ͢
ࣗݾհ w ذෞݝࡏॅͷϑϧϦϞʔτϫʔΧʔ w גࣜձࣾΩϟελʔͰCPTZVΛ։ൃ w 3VCZPO3BJMTɺ7VFKTɺ"84ɺೝূٕज़ w ίϛϡχςΟɾษڧձొஃ w
/BHPZB'SPOUFOE6TFS(SPVQ w +"846(໊ݹ w "VUI"NCBTTBEPS$PNNVOJUZ-FBEFST w *EFOUJUZ%BODF4DIPPMʢٕज़ॻయͷʣ w ໊ݹ3VCZձٞʢύεϫʔυϨεೝূͷʣ
$PHOJUPͱͷग़ձ͍ w αʔϏε։ൃͰαοͱ͑Δ*%BB4Λ୳͍ͯͨ͠ w "NQMJGZ͕ൃද͞Εͨ͜Ζʢޙʁʣ w ͪΐΖͬͱΞΫηε੍ޚ͔͚ͨͬͨͩ͠ w ߏෳࡶͰཧղͰ͖ͣϋʔυϧ͕ߴͯ͘࠳ં w
ͦͷޙ"VUIʹग़ձ͏ w "VUIʹࠢΛചΔ w ຊۀҎ֎Ͱ$PHOJUP͏ػձ͕ʂ ?P?
$PHOJUP શʹཧղͨ͠
IUUQTUPHFUUFSDPNMJ
ͬͱৄ͘͠ͳΓ͍ͨʂ
ࠓͷ w 8FCΞϓϦ։ൃͷίϯςΩετߴΊ w "DUJWF%JSFDUPSZͷ͠·ͤΜ w $PHOJUPͷػೳΛཧ w "NQMJGZͱҰॹʹ͏ͱྑ͘ͳΕͦ͏ w
ྑ͘ͳΔͨΊͷπʔϧհ w ࣌ؒ͋Ε5JQTͱ͔
$PHOJUPͷػೳ w "84͕ఏڙ͢ΔೝূೝՄαʔϏε w $PHOJUP'FEFSBUFE*EFOUJUZʢ*%ϓʔϧʣ w *E1ʢ*EFOUJUZ1SPWJEFSʣʹରͯ͠454Λ͍ग़͢ w *E1'BDFCPPL (PPHMF
$PHOJUP6TFS1PPMTͳͲ w $PHOJUP6TFS1PPMTʢϢʔβʔϓʔϧʣ w "84͕ఏڙ͢Δ*E1ɺϢʔβʔొɾೝূɾཧ w ֎෦*E1ͱಉྻػೳʹҐஔ͢Δ w $PHOJUP4ZOD w σʔλͷσόΠεؒಉظ
https://docs.aws.amazon.com/ja_jp/cognito/latest/ developerguide/cognito-scenarios.html
ೝূํࣜ w 431ʢ4FDVSF3FNPUF1BTTXPSEʣ w ΫϥΠΞϯτͱ$PHOJUP͕௨৴͢Δ w ωοτϫʔΫܦ༝Ͱύεϫʔυ͕ૹ৴͞Εͳ ͍
ΞϓϦΫϥΠΞϯτઃఆ w ΫϥΠΞϯτೝূͷ߹ʜ ˠγʔΫϨοτෆཁͳͷͰੜͪ͠ΌͩΊ
0"VUI w 1,$&ʢ1SPPG,FZGPS$PEF&YDIBOHFCZ0"VUI1VCMJD$MJFOUTʣ ʹະର ԠͳͷͰϞόΠϧΞϓϦೝূͩͱݫ͍͠ w *NQMJDJUHSBOUઈରΘͳ͍ʢ੬ऑʣ w 431Ͱ֤छτʔΫϯ͕औಘͰ͖ΔͷͰ͋͑ͯ0"VUI ͏ඞཁͳͦ͞͏
ͦͷଞͷϢʔεέʔε w αʔόʔϕʔεͰೝূ͍ͨ͠ w "%.*/@/0@431@"65) w ΧελϜೝূ͍͍ͨʢ-BNCEBʣ w $6450.@"65)@'-08@0/-: w
ϢʔβʔҠߦ͍ͨ͠ w 64&3@1"44803%@"65)
݁ہͲΕ͍͍͑ͷʁ w 8FCϞόΠϧΞϓϦͰαʔόʔϨε͍ͨ͠ w 431ͰΫϥΠΞϯτೝূҰ w ౷తͳαʔόʔ͋Γͷ8FCγεςϜ w ϩάΠϯΤϯυϙΠϯτ࣮ͯ͠αʔόʔϕʔεೝূ w
MPHJOϢʔβʔ໊ͱύεϫʔυ͛Δ w αʔόʔܦ༝Ͱ"ENJO*OJUJBUF"VUI"1*Λୟ͍ͯೝূͯ͠ ηογϣϯΛཱ֬͢ΔΑ͏ͳύλʔϯͬͪ͜ w $PHOJUPͷྑ͕ࣦ͞ΘΕΔͷͰײ͕एׯ
"NQMJGZ
"NQMJGZ w $PHOJUPͷ+BWB4DSJQU4%,Λѻ͏ͱ ΞϓϦଆͷ࣮͕एׯ໘ w 6*ࣗͰ࡞Βͳ͖Ό͍͚ͳ͍ w "NQMJGZͷϨʔϧʹΔ͜ͱͰඇৗʹ؆୯ʹ ೝূը໘ΛߏஙͰ͖Δ w
5ZQF4DSJQUରԠࡁ w ྑ͘ͳΕͦ͏ͳ༧ײ
"NQMJGZͬͯԿ͚ͩͬ w 8FCʢ41"ʣϞόΠϧΞϓϦΛߴʹߏங͢ΔͨΊͷπʔϧ܈ w "NQMJGZKT.PCJMF༻4%,ɹˡࠓճγϯϓϧʹ͚ͩ͜͜͏ w ΫϥΠΞϯτΈࠐΈ༻ϥΠϒϥϦ w "NQMJGZ$-* w
ίϚϯυϥΠϯܦ༝Ͱ"84ͷ֤छαʔϏεͷઃఆ͕Ͱ͖Δ w $MPVE'PSNBUJPOΛར༻͍ͯ͠Δ w "NQMJGZ$POTPMF w (JUͷมߋΛτϦΨʔͱͨ͠੩తαΠτͷരެ։αʔϏε w /FUMJGZͷ"84൛ɺ(JU-BCରԠͳͲɺ͝ͱͷදࣔνΣοΫ w ೝূ͚ͩͰͳͯ͘4"QQ4ZODͳͲɺαʔόʔϨεͰҰ௨Γಈ͘ΞϓϦΛ࡞ ΔͨΊͷڥͰɺ(PPHMFͷ'JSFCBTFΛҙ͍ࣝͯ͠Δɻ
BNB[PODPHOJUPJEFOUJUZKT w $PHOJUPͷ+BWB4DSJQU4%,"NQMJGZKTͷ ϦϙδτϦԼʹҠಈͨ͠ w "84ʮΫϥΠΞϯταΠυ"NQMJGZͬͯͶʯ
"NQMJGZ ೝূΛΔ w IUUQTBXTBNQMJGZHJUIVCJPEPDT KTBVUIFOUJDBUJPO͕ࢀߟʹͳΔ w ೝূʹؔ͢Δใ͕ඇৗʹॆ࣮͍ͯ͠Δ w "NQMJGZ"VUI͕͔Εྑͦ͞͏
"NQMJGZ $PHOJUPͷ͍͍ͱ͜Ζ w 3FBDU 7VF "OHVMBSͰ͑Δ6*͖ೝূϥΠϒϥ Ϧ͕ఏڙ͞Ε͍ͯΔ w ೝূ࣌ʹඞཁͳը໘͕Ұ௨Γཏ͞Ε࣮ͯ͞Ε͍ͯΔ w
4JHO*O $POpSN4JHO*O 4JHO6Q $POpSN4JHO6Q 'PSHPU1BTTXPSE w ͍ͭ͜ΛΈࠐΊҰॠͰ࣮͕ऴΘΔ w BNQMJGZBVUIFOUJDBUPSλάΛஔ͚ͩ͘ w $PHOJUPͬͨϓϩτλΠϓ։ൃͱ͔ϝονϟૣ͍ͱࢥ͏
None
ݸਓతʹخ͍͠ͱࢥͬͨϙΠϯτʢ7VFKTʣ w &WFOU#VTʹରԠ͍ͯ͠ΔͷͰը໘ભҠͷ੍ ޚ͕ඇৗʹָ w ϢʔβʔొˠݕূίʔυೖྗͳͲͷը໘ભ Ҡͱ41"ͷϧʔςΟϯάܨ͗ࠐΈ͕͍͍ײ͡ ʹ੍ޚͰ͖Δ w ΧελϜσβΠϯʹରԠ͍ͯ͠Δ
w ͔ͳΓυΩϡϝϯτஸೡ
"NQMJGZܦ༝ͰऔಘͰ͖ΔτʔΫϯ w "NQMJGZͰೝূΛ͢ΔͱෳͷτʔΫϯΛऔಘͰ͖Δ w ೝূޙMPDBM4UPSBHFʹࣗಈͰ֨ೲ͞ΕΔʢʂʣ w JE5PLFOʢೝূτʔΫϯʣ w ࣗલͷ"1*αʔόʔΛೝূͨ͠ΓɺΧελϜΦʔιϥΠβʔ͏߹ w
BDDFTT5PLFOʢೝՄτʔΫϯʣ w *EFOUJUZ1PPMTͷΞΫηεͯ͠454Λ͍ग़ͨ͢Ί w SFGSFTI5PLFO w τʔΫϯߋ৽༻ʢBDDFTTʣ
https://docs.aws.amazon.com/ja_jp/cognito/latest/ developerguide/cognito-scenarios.html
None
τʔΫϯ+85ܗࣜ w FZ+Ͱ࢝·ΔτʔΫϯ+40/8FC5PLFO w +40/Λ#BTFΤϯίʔυͯ͠࿈݁ͨ͠ͷ w IFBEFSQBZMPBETJHOBUVSF w QBZMPBE෦ʹϢʔβʔใ͕֨ೲ͞Ε͍ͯΔ w
ॺ໊͕͋ΔͷͰվ͟Μͷ֬ೝ͕Ͱ͖Δ w IUUQTKXUJPʹషΓ͚Δͱத͕ݟ͑Δ w FZ+Λݟ͚ͭͨΒͥͻ͍ͯΈ·͠ΐ͏ w SFGSFTI5PLFO҉߸Խ͞Εͯͯதݟ͑ͳ͔ͬͨ
τʔΫϯͷܗࣜ+85 w FZ+Ͱ࢝·ΔτʔΫϯσίʔυͰ͖Δ w KXUJPͳͲͰ TVC͕DPHOJUPͷ66*%
ϩάΠϯঢ়ଶͷఆ w ΞϓϦଆͰϩάΠϯͯ͠Δ͔ఆ͍ͨ͠߹ w ϩάΠϯத༗ޮͳτʔΫϯΛอ༗͍ͯ͠Δ w ΫϥΠΞϯτ͔͠Γ͑ͳ͍ w "VUIDVSSFOU4FTTJPO Ͱఆ͢Δ
ࣗલαʔόʔͷೝূʹ͏ $PHOJUP͔Βൃߦ ͞Ε͍ͯΔެ։伴Ͱ+85 ͷॺ໊Λݕূ ֨ೲॴཁݕ౼ ݱঢ়MPDBM4UPSBHFةͳ͍ͷͰ IUUQ0OMZͳTFTTJPO͕ϕλʔ
+40/8FC,FZ w IUUQTDPHOJUPJEQBQOPSUIFBTUBNB[POBXTDPNBQ OPSUIFBTU@999999999XFMMLOPXOKXLTKTPO͔Β+85Λݕ ূ͢ΔͨΊͷެ։ݤ͕औಘͰ͖Δʢ999996TFS1PPM*Eʣ w +85ͷIFBEFSͷLJEͱରԠ͠ ͯΔ伴Λ͏
$PHOJUP7JFXFS w ݕূਐ·ͳ͍ˠ֬ೝπʔϧ࡞ͬͨ w Γͱ͔τʔΫϯͷதΛ֬ೝ͢Δͷ໘ w ΫϥΠΞϯτଆ͕ͳ͍ͱಈ͖͔ΒΜ w ઃఆ͕ؒҧͬͯΔͷ͔࣮͕ؒҧͬͯΔͷ͔ w
ϢʔβʔμογϡϘʔυͱ"EN*OJUJBUF"VUIͰ࡞ͬͨ ϢʔβʔΛೝূࡁΈʹ͢ΔػೳΛ͚͍ͭͨ w IUUQTHJUIVCDPNDPSPDODPHOJUPWJFXFS w ˞ಈ͔ͨ͢Ίʹ*EFOUJUZ1PPMͷ࡞ඞཁ
None
None
%&.0 ʢ࣌ؒͳ͚Ε࠷ޙͰʣ
"NQMJGZͰҙ͍ͨ͠ͱ͜Ζ w τʔΫϯͷ༗ޮظݶΛࢦఆͰ͖ͳ͍ w τʔΫϯͷอଘઌ͕MPDBM4UPSBHF w τʔΫϯͷߋ৽Λ੍ޚͰ͖ͳ͍ʢࣗಈߋ৽ʣ
τʔΫϯͷ༗ޮظݶΛࢦఆͰ͖ͳ͍ w JE5PLFONJO w BDDFTT5PLFONJO w SFGSFTI5PLFOEBZT w τʔΫϯ͕࿙Εͨ࣌Λߟྀͯ͠ՄೳͳݶΓ͍ ࣌ؒʹઃఆ͍ͨ͠
w ͦͦJE BDDFTT5PLFO࿙ΕΔલఏͰ ઃܭ͢Δඞཁ͕͋Δ
τʔΫϯͷอଘઌ͕MPDBM4UPSBHF w BDDFTT5PLFO·ͩ͠SFGSFTI5PLFOͷΑ͏ͳੜଘظ͕ؒ ͍τʔΫϯΛϒϥβʹอଘͯ͠͠·͍ͬͯΔ w 944ͰͿͬ͜ൈ͔ΕΔͷͰɺ֎෦+4ಡΉ࣌ҙɻಛʹࠂͱ͔ɻ w IUUQ0OMZDPPLJFະαϙʔτ w IUUQTHJUIVCDPNBXTBNQMJGZBNQMJGZKT
JTTVFT w ϞόΠϧͱҟͳΓɺ8FCηΩϡΞʹอଘͰ͖Δॴ͕ͳ͍ w ϒϥβʹอଘͤͣJONFNPSZͰΓ͍ͨ w $PHOJUPͱηογϣϯషΕΔػೳ͕͜ͳ͍ͱͦ͠͏
τʔΫϯͷߋ৽Λ੍ޚͰ͖ͳ͍ w τʔΫϯͷ༗ޮظݶ͕ΕͨޙͷॳճΞΫηεͰࣗಈͰ৽͍͠ τʔΫϯʹߋ৽͞ΕΔ w خ͍͠໘ɾɾɾ w ΫϥΠΞϯτͰτʔΫϯͷ༗ޮظݶ0,ˠϦΫΤετ࣌ࠩͰ αʔόʔଆݕূ࣌ʹ༗ޮظݶ/(ͷ߹͕ൃੜ͢Δ w
ΫϥΠΞϯτଆͰૣΊʹτʔΫϯΛߋ৽͓͖͍ͯͨ͠PSαʔ όʔଆͰ༗ޮظݶͷΏͱΓʢMFFXBZʣΛͨͤΔඞཁ͕ͰΔ w αʔόʔଆʹΏͱΓΛͨͤΔͷਪΒ͍͠ w ʢͲ͔͜ͷJTTVFͰٞ͞Ε͚ͯͨͲݟ͔ͭΒͳ͍ʣ
ॅΈ͚େࣄ w "84ͰαʔόʔϨε ˠ$PHOJUP "NQMJGZ w ($1ͰαʔόʔϨε ˠ'JSFCBTF w αʔόʔ͕͋ΔηΩϡϦςΟཁ݅ݫ͍͠
ˠ"VUI
·ͱΊ w 8FCΞϓϦ։ൃͰͷೝূͷΛͨ͠ w "NQMJGZ͏ͱ$PHOJUPͱྑ͘ͳΕ·͢ w +85ͬͨೝূͷΈΛ͓͑ͯ͘͜ͱ w ηΩϡϦςΟपΓͷཁ݅ҙʢಛʹ8FCʣ w
"84ͷαʔϏεʹݻࣥͤͣॊೈͳબΛ w ࠓޙͷΞοϓσʔτͰԽ͚ͦ͏