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
7
5.1k
現場のエンジニアから見た採用担当との協働
corocn
7
2.9k
シリーズAをリファラル採用中心に走り抜ける / leaner-referral-engineer-2024
corocn
3
1.9k
捨てて加速するプロダクト開発 / sutete-speedup-product-development
corocn
3
650
リファラル採用にフルベットしてみた
corocn
3
3.6k
エンジニアとプロダクトマネージャーを兼任した1年間を振り返る / pdm-furikaeri
corocn
17
7.8k
育休のすゝめ #devsumi 2023
corocn
3
4.7k
GCPでRubyを動かしている話 / ruby on gcp
corocn
0
910
フルリモートワーカーのデスク選定 / how-to-select-remote-work-desk
corocn
1
600
Other Decks in Technology
See All in Technology
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
250
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
540
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.4k
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
740
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.3k
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
700
AndroidデバイスにFTPサーバを建立する
e10dokup
0
250
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.7k
2.5Dモデルのすべて
yu4u
2
840
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
Why Our Code Smells
bkeepers
PRO
336
57k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building Your Own Lightsaber
phodgson
104
6.2k
Six Lessons from altMBA
skipperchong
27
3.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
174
51k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Adopting Sorbet at Scale
ufuk
74
9.2k
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 ΑΓָʹγϯϓϧ͔ͭηΩϡΞΛߟ͍͍͑ͯ ͖͍ͨ