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
520
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
7
4.7k
現場のエンジニアから見た採用担当との協働
corocn
7
2.9k
シリーズAをリファラル採用中心に走り抜ける / leaner-referral-engineer-2024
corocn
3
1.9k
捨てて加速するプロダクト開発 / sutete-speedup-product-development
corocn
3
640
リファラル採用にフルベットしてみた
corocn
3
3.6k
エンジニアとプロダクトマネージャーを兼任した1年間を振り返る / pdm-furikaeri
corocn
17
7.7k
育休のすゝめ #devsumi 2023
corocn
3
4.7k
GCPでRubyを動かしている話 / ruby on gcp
corocn
0
900
フルリモートワーカーのデスク選定 / how-to-select-remote-work-desk
corocn
1
590
Other Decks in Programming
See All in Programming
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
290
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
28
4k
ErdMap: Thinking about a map for Rails applications
makicamel
1
570
為你自己學 Python
eddie
0
520
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.3k
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
130
rails newと同時に型を書く
aki19035vc
5
710
ドメインイベント増えすぎ問題
h0r15h0
2
560
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
400
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.3k
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
1k
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Agile that works and the tools we love
rasmusluckow
328
21k
Building Applications with DynamoDB
mza
93
6.2k
Being A Developer After 40
akosma
89
590k
Gamification - CAS2011
davidbonilla
80
5.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Side Projects
sachag
452
42k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
A Philosophy of Restraint
colly
203
16k
YesSQL, Process and Tooling at Scale
rocio
170
14k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
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 ࠓޙͷΞοϓσʔτͰԽ͚ͦ͏