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
4.6k
現場のエンジニアから見た採用担当との協働
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 Technology
See All in Technology
Fearsome File Formats
ange
0
550
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
380
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
11
4.3k
ソフトウェア開発における「パーフェクトな意思決定」/Perfect Decision-Making in Software Development
yayoi_dd
2
2.6k
Formal Development of Operating Systems in Rust
riru
1
360
Fabric 移行時の躓きポイントと対応策
ohata_ds
1
120
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
1
350
深層学習と3Dキャプチャ・3Dモデル生成(土木学会応用力学委員会 応用数理・AIセミナー)
pfn
PRO
0
380
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
33k
能動的ドメイン名ライフサイクル管理のすゝめ / Practice on Active Domain Name Lifecycle Management
nttcom
0
310
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
1.6k
Unsafe.BitCast のすゝめ。
nenonaninu
0
110
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Faster Mobile Websites
deanohume
305
30k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
Site-Speed That Sticks
csswizardry
2
220
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
97
17k
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 ΑΓָʹγϯϓϧ͔ͭηΩϡΞΛߟ͍͍͑ͯ ͖͍ͨ