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
550
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
11
6.3k
現場のエンジニアから見た採用担当との協働
corocn
7
3k
シリーズAをリファラル採用中心に走り抜ける / leaner-referral-engineer-2024
corocn
3
2.1k
捨てて加速するプロダクト開発 / sutete-speedup-product-development
corocn
3
700
リファラル採用にフルベットしてみた
corocn
3
3.9k
エンジニアとプロダクトマネージャーを兼任した1年間を振り返る / pdm-furikaeri
corocn
17
8.1k
育休のすゝめ #devsumi 2023
corocn
3
5k
GCPでRubyを動かしている話 / ruby on gcp
corocn
0
950
フルリモートワーカーのデスク選定 / how-to-select-remote-work-desk
corocn
1
640
Other Decks in Programming
See All in Programming
ゲームの物理
fadis
5
1.2k
パスタの技術
yusukebe
1
390
TanStack DB ~状態管理の新しい考え方~
bmthd
2
140
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
Comparing decimals in Swift Testing
417_72ki
0
170
実践!App Intents対応
yuukiw00w
1
280
DataformでPythonする / dataform-de-python
snhryt
0
180
Understanding Ruby Grammar Through Conflicts
yui_knk
1
110
AIレビュアーをスケールさせるには / Scaling AI Reviewers
technuma
2
200
エンジニアのための”最低限いい感じ”デザイン入門
shunshobon
0
110
Infer入門
riru
4
1.5k
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
9
700
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Designing for humans not robots
tammielis
253
25k
Visualization
eitanlees
146
16k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
GitHub's CSS Performance
jonrohan
1031
460k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
How GitHub (no longer) Works
holman
314
140k
RailsConf 2023
tenderlove
30
1.2k
We Have a Design System, Now What?
morganepeng
53
7.7k
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 ࠓޙͷΞοϓσʔτͰԽ͚ͦ͏