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
Webサービス開発とSPAの認証の話 / spa-and-identity
Search
Takahiro Tsuchiya
May 29, 2019
Technology
9
2.9k
Webサービス開発とSPAの認証の話 / spa-and-identity
SPAとサービス開発と認証への気持ちをまとめました
Takahiro Tsuchiya
May 29, 2019
Tweet
Share
More Decks by Takahiro Tsuchiya
See All by Takahiro Tsuchiya
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
10
5.9k
現場のエンジニアから見た採用担当との協働
corocn
7
3k
シリーズAをリファラル採用中心に走り抜ける / leaner-referral-engineer-2024
corocn
3
2.1k
捨てて加速するプロダクト開発 / sutete-speedup-product-development
corocn
3
690
リファラル採用にフルベットしてみた
corocn
3
3.8k
エンジニアとプロダクトマネージャーを兼任した1年間を振り返る / pdm-furikaeri
corocn
17
8k
育休のすゝめ #devsumi 2023
corocn
3
4.9k
GCPでRubyを動かしている話 / ruby on gcp
corocn
0
940
フルリモートワーカーのデスク選定 / how-to-select-remote-work-desk
corocn
1
620
Other Decks in Technology
See All in Technology
ObsidianをMCP連携させてみる
ttnyt8701
2
100
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.6k
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
170
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
390
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1k
Nonaka Sensei
kawaguti
PRO
3
650
SFTPコンテナからファイルをダウンロードする
dip
0
140
Create a Rails8 responsive app with Gemini and RubyLLM
palladius
0
110
Digitization部 紹介資料
sansan33
PRO
1
4.2k
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.4k
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
0
300
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
650
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Writing Fast Ruby
sferik
628
61k
Facilitating Awesome Meetings
lara
54
6.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Producing Creativity
orderedlist
PRO
346
40k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Building Applications with DynamoDB
mza
95
6.4k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Transcript
8FCαʔϏε։ൃͱ 41"ͷೝূͷ *EFOUJUZ%BODF4DIPPMJEEBODF -FTTPOٕज़ॻయͱ%JHJUBM*EFOUJUZٕज़ ʢਫʣ 5BLBIJSP5TVDIJZB!DPSPDO
!DPSPDO 5BLBIJSP5TVDIJZB ͜ΖͪΌΜ
ࣗݾհ w ذෞݝࡏॅ w ϑϧϦϞʔτϫʔΫ!Ωϟελʔ w ਓҎ্͕ϦϞʔτϫʔΫ͍ͯ͠Δձࣾ w ຊۀ8FCαʔϏε։ൃ w
ηΩϡϦςΟΤϯδχΞͰͳ͍ w *EFOUJUZٕज़ڵຯͰͬͯΔ w ॳ৺ऀ͚ͱฉ͍͖ͯͨͷʹ᱐͞Εͨ w 3VCZ3BJMT 7VF "84 ($1 w "VUI"NCBTTBEPS bosyu
ΞδΣϯμ w ٕज़ॻయ Ͱॻ͍ͨຊͷհ w *EFOUJUZٕज़ʹର͢Δؾ࣋ͪͷڞ༗ w 41"ͷηογϣϯཧͷ
ࠓ͍͍ػձͳͷͰஏΛࡽ ͍ͯ͜͠͏͔ͱɾɾɾ
ٕज़ॻయͱͷؔΘΓ w લ৬ಉ྅ͱϊϦͰਃ͠ࠐΜͩͷ͕࠷ॳ w ٕज़ॻయ ͱԿ͔͠ΒͷܗͰࢀՃ w ౦ژͷೝূք۾ͷਓͨͪͱͷܨ͕Γ͕Ͱ͖ͨ w
ذෞͰೝূͬͯΔਓશવ͍ͳ͍ͷͰخ͍͠ w *%Ͳ͜Ζ͔8FCͬͯΔਓ΄ͱΜͲ͍ͳ͍ w ຊۀͰͬͯͳ͍ࣗʹͱͬͯେ͖ͳϞνϕ
ٕज़ॻయ w 7VFKTɺ/VYUKTΛͬͨ41"͕Γ্ ͕Γ͡Ίͨ࣌ظ w 41"ͷೝূʹ՝ҙࣝ w "VUIͬͯΈͨΒඇৗʹศརͩͬͨͷ͕ Ϟνϕ w
࣌ؒͰ෦ച w ΈΜͳҙ֎ͱೝূपΓʹࠔͬͯΔʁͱ͍͏ײ Λͬͨ w "VUIͷ$&0͕تΜͰ࣋ͬͯؼͬͨΒ͍͠ w ຊΛॻ͍ͨ͜ͱͰதͷਓͱͷܨ͕Γ͕Ͱ͖ ͨ
None
ۀࢴ w ༰ಉ͡ w "VUIͷதͷਓʹϨ Ϗϡʔͯ͠ΒͬͨΓ w ྦྷܭͰ෦͙Β͍ʁ ʢ,JOEMFͷηʔϧͱ͔Ͱ ͦͦ͜͜ചΕͨΓʣ
w ࠓݟΔͱஏ͔͍ͣ͠આ໌ͳ ͷͰͱͯվగ͍ͨ͠
ٕज़ॻయ w લ৬Ͱ߹ಉࢴΛग़ͨ͠ w %FW0QTϝΠϯͷ w τʔΫϯͷΛগ͠ w ͬͨࣽ͝ຊചΕʹ͍͘ w
એΊͬͪΌେࣄ
ٕज़ॻయ w ٕज़ॻయͷͱ͖ʹ!XBUBIBOJ ͞Μʹձͬͨͷ͕͖͔͚ͬ w ඒຯ͍͠মʹΒΕͯدߘ w 8FC"VUIOͰΫοΩʔηογϣ ϯ͍ͨ͘ͳ͍ͱ͍͏ڧ͍ؾ࣋ͪ w
'*%0αʔόʔΛηογϣϯϨε Ͱ࣮ͯ͠Έͨ w 3VCZ3BJMTͰύεϫʔυϨε ͍͖͍ͬͯͨ
https://twitter.com/kaitendaentai/status/1052689241744896001
https://twitter.com/kaitendaentai/status/1052689241744896001 ٕज़ॻయ ग़ͨ࣌͠
https://twitter.com/kaitendaentai/status/1052689241744896001 ٕज़ॻయ ग़ͨ࣌͠ ٕज़ॻయ ग़ͨ࣌͠ ٕज़ॻయ ग़ͨ࣌͠ ݱࡏ
https://twitter.com/kaitendaentai/status/1052689241744896001 ٕज़ॻయ ग़ͨ࣌͠ ٕज़ॻయ ग़ͨ࣌͠ ٕज़ॻయ ग़ͨ࣌͠ ͜ͷΜ ࢦ͍ͨ͠ ݱࡏ
ݱঢ়ͷؾ࣋ͪͷڞ༗ w ݸਓతͳͩͱೝূɺೝՄٕज़ָ͍͠ w ͔͠͠ʜ w αʔϏε։ൃऀͱͯ͠ఏڙ͍ͨ͠αʔϏεͷʮຊ࣭ʯͰͳ͍ w ͪΖΜ69ͷ্Լʹܨ͕ΔͷͰେࣄ w
झຯͳΒ·ͩ͠ϏδωεϢʔεͩͱࣗ࡞ා͍ w ηΩϡϦςΟϗʔϧ࡞Γͦ͏ w ಛʹελʔτΞοϓଞʹ࡞Δ͖ͷͨ͘͞Μ͋ΔͷͰ w ͱ͍͑ཧղͯ͠ͳ͍ͱ*%BB4ͱͷ࿈ܞͦ͠͏ w ৄ͘͠ΕΔ΄Ͳʮ͍͍ͬͨԿ͕ਖ਼͍͠ΜͩɾɾɾʯˡΠϚίί
Ͱ͖Εࣗ࡞ͤͣؤுΓ͍ͨ w ։ൃεϐʔυΛग़ͨ͢Ίͷ*%BB4ͱ͍͏બ w ͱͱ*%BB4&OUFSQSJTFͳೝࣝͩͬͨ w #UP$Ͱ͑ͦ͏ͳ*%BB4͕૿͖͑ͯͨ w ศརͳͷ͑Δ͚͍͖͍ͩͬͯͨ w
αʔϏε্ཱͪ͛࣌ʹΨνΨνʹࣗ࡞͢Δͷɺඞཁʁ w దʹ*%BB4ΛऔΓೖΕΒΕΔ͕ࣝ΄͍͠ w ࠷ۙ"VUIMFUFʹڵຯͰͯΔ
Ξτϓοτ͍͠ w ࣝΛʹ͚ͭΔ্ͰΞτϓοτେࣄ w ͰηΩϡϦςΟͬͯਆܦ࣭ͳʹͳΓ͕ͪ w ࣮ࡍͷϢʔεέʔεʹԊͬͨ༰Λެ։ͮ͠Β͍ w ݟ͕ΫϥΠΞϯτϫʔΫͷձࣾʹدΓ͕ͪʁ w
ਖ਼͘͠ཧղͯ͠ਖ਼͘͠ॻ͔ͳ͍ͱΕͳ͘Ԍ্ w ਖ਼͘͠ཧղͰ͖Δͷ͍ͭͰ͔͢ʁ w ֤༷ͷղઆଟ͍͕͍ॴϢʔεέʔεʹԊͬͨগͳ ΊͳͷͰΠϯϓοτେม
Ҏલ͜Μͳ-5Λͨ͠ https://speakerdeck.com/corocn/next-geneartion-identity-auth0
+85͕ʹͳͬͨ࣌ظ w ʮͲ͏ͯ͠ϦεΫΞηεϝϯτͤͣʹ+85Ληογϣϯ ʹͬͪΌ͏Θ͚ʁʯ w ʮ+85ೝূɺศརΜʁʯ w IUUQTBVUIIBUFOBCMPHDPNFOUSZ w
தͷਓΛΘͤͨΑ͏ͳهࣄ͕ʢதͷਓͰͳ͔ͬͨʣ w -5ͷલ͙Β͍ͩͬͨͷͰϏΫϏΫ͍ͯͨ͠
࠷ۙͷٙ
41"Ͱ+85Ͱηογϣϯ ཧͨ͠Β͔͋Μͷʁ
41"ͱ w ୯Ұϖʔδ +4 ओʹ3&45"1*ͷίϯς ϯπΓସ͑Ͱߏ͞ΕΔ8FCΞϓϦ w Ϧονͳ6*Λఏڙ͍͢͠ w ϑϩϯτͱόοΫΤϯυΛͰ͖Δ
w ϞόΠϧϑΝʔετͰ࡞ͬͨ"1*ͷྲྀ༻ w ৫ߏʢઐੑɾۀʣͳഎܠ͋Γͦ͏
41"ͷηογϣϯཧͷ w ʮMPDBM4UPSBHFʹอଘͨ͠Β͑͑Ζʂ͆ʯ w ͦ͏ࢥ͍ͬͯΔ࣌ظ͕ࢲʹ͋Γ·ͨ͠ w 944ʹऑ͍͔Βൈ͔ΕΔ w ˢͳ͍Α͏ʹ࡞Δͷ͕جຊ͚ͩͲݶք͋Δ w
5PLFOηΩϡΞʹอͰ͖ͳ͍ w "84"NQMJGZ͘ͳΜͱ͔ͯ͋͛ͯ͠ w ϞόΠϧͷ0"VUI 1,$&ͱಉ͡Α͏ʹ͍͔ͳ͍
$PPLJFPS5PLFO w ʮ$PPLJF͓͏Ͷʯೝ͍ࣝͯ͠Δ w αʔόʔϨε͕བྷΉͱτʔΫϯΛͬͨೝূͰ͍݁ͤͨ͞έʔε ଟʑ͋Δ w 41" αʔόʔϨεͳ։ൃ͕ʑ૿͍͑ͯΔ w
ࠓޙˢͳεΩϧηοτΛ࣋ͭਓ૿͑ͯ͘ΔͩΖ͏ w ϞόΠϧͱಉ͡ํ๏Ͱѻ͑ͳ͍͔ w ϞόΠϧ8FCҰॹʹ࡞Δέʔεͦ͜·Ͱͳ͍ͱࢥ͍ͭͭ w ҰาҾ͍ͯݟͨ࣌ʹDPPLJFDPPLJFͰѻ͍͍͠ w ͍׳ΕͯΔɺੜଘόΠΞε
*%BB4ͬͨ߹Ͳ͏͔ w *%BB4ͱηΩϡΞʹηογϣϯҡ࣋Ͱ͖͍ͯΕ+85Ͱ"1*ͷೝূ͍ͯ͠ ͍ͷͰʁ w *%BB4ଆʹػೳ͕͋Ε w ۩ମతʹ w 41"Ͱ࡞͞Εͨϖʔδදࣔ࣌ʹ*%BB4͔Βຖճ+85Λ͍ग़͢
w JONFNPSZͰ+85Λཧͯ͠ӬଓԽ͠ͳ͍ w +85ͷ༗ޮظݶՄೳͳݶΓ͘ w ϔομʹͤͯ"1*+85Λݕূ͢Δ͚ͩ w ͜ͷΈͳΒ+85ʹدͤΒΕΔͷͰʁ w ͋Μ·Γࣗ৴ͳ͍ͷͰϦεΫʹ͍ͭͯͬͱΓ͍ͨ
ͦͷଞͷϑϩϯτΤϯυٕज़ͱೝূ w 41" 443ʢ4FSWFS4JEF3FOEFSJOHʣ w 4FSWJDF8PSLFSͰτʔΫϯߋ৽ w Ұ୴ߟ͑ͨ͘ͳ͍ɾɾɾ w 443ͦͦαʔόʔ͋Δ͔Βɾɾɾ
w 41"ΛϞόΠϧͱಉྻͰߟ͑ͨ͘ͳΔࣗͷࢥ ߟճ࿏͕ΑΖ͘͠ͳ͍͔
·ͱΊ w ٕज़ॻయָ͍͔͠ΒΈΜͳຊॻ͜͏ʂใ Ξτϓοτͨ͠ਓʹू·Δ w ઐԽۀԽ͕ਐΜͰ͖ͨͷͰɺͦΕͧΕΛ ͭͳ͛Δ͞ΒʹॏཁੑΛ૿ͦ͠͏ w ΑΓָʹγϯϓϧ͔ͭηΩϡΞΛߟ͍͍͑ͯ ͖͍ͨ