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
Angular x Auth0 複数サービス展開での認証基盤を考える
Search
Hayato OKUMOTO
August 18, 2023
Programming
0
630
Angular x Auth0 複数サービス展開での認証基盤を考える
Startup Angular #6での発表資料です。
https://voicy.connpass.com/event/289575/
Hayato OKUMOTO
August 18, 2023
Tweet
Share
More Decks by Hayato OKUMOTO
See All by Hayato OKUMOTO
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
2.9k
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
7
1.8k
推し活を支えるAngularアプリ 量産体制
falcon8823
0
68
推し活の ハイトラフィックに立ち向かう Railsとアーキテクチャ - Kaigi on Rails 2024
falcon8823
8
6.6k
Angular Schematicsを利用した アプリ量産体制
falcon8823
0
230
iOSとIonicとHEIF画像
falcon8823
0
370
Ionicアプリのビルド自動化
falcon8823
0
37
Firebase Authentication - Ionic Meetup #12 Tokyo
falcon8823
0
310
IonicアプリをAuth0で認証する - Ionic Meetup #16 in Online
falcon8823
0
430
Other Decks in Programming
See All in Programming
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
890
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
970
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
100
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
180
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
320
クラシルを支える技術と組織
rakutek
0
190
iOSDC.pdf
chronos2500
2
650
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
160
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
120
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
110
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osk2025-duckdb
takahashiikki
1
240
Le côté obscur des IA génératives
pascallemerrer
0
120
Featured
See All Featured
Side Projects
sachag
455
43k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Typedesign – Prime Four
hannesfritz
42
2.8k
Designing for humans not robots
tammielis
254
25k
GitHub's CSS Performance
jonrohan
1032
460k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Faster Mobile Websites
deanohume
310
31k
Designing for Performance
lara
610
69k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Transcript
Angular x Auth0 ෳαʔϏεల։Ͱͷೝূج൫Λߟ͑Δ גࣜձࣾTwoGate Ԟຊ ൏
2 ࣗݾհ Ԟຊ൏!GBMDPO@ w גࣜձࣾ5XP(BUFɹڞಉۀऀऔక$50 w 5XP(BUFۀظ͔Βͷٕज़Ϧʔυͱͯ͠ w ࠓͰ w
࠷ۙͷٕज़τϐοΫ w ೝূج൫ "VUI ͦͷଞ σʔλج൫ߏங #JH2VFSZ USPDDP
ࣄۀ༰ ɾΤϯλϝྖҬͷ4BB4։ൃʢϞόΠϧΦʔμʔ͘͡&$ίϛϡχςΟΞϓϦʣ ɾ4IPQJGZͰͷ&$αΠτ։ൃ ɾ###&ྖҬͷڞࣄۀ։ൃ 3 ձࣾ֓ཁ https://twogate.com/ ઃཱ ɾ݄ઃཱʢظʣ ɾνʔϜͱͯ͠
ɾ໊த໊ͷߴઐੜͰۀɹݱࡏɺϑϧλΠϜ໊نʹ
4 5XP(BUFͷٕज़ελοΫ αʔόαΠυ ϑϩϯτΤϯυ ։ൃڥ Πϯϑϥ
5 4IPQJGZ1BSUOFSPGUIF:FBSडاۀ w 4IPQJGZ&DPNNFSDF"XBSE w 4IPQJGZ1BSUOFSPGUIF:FBS ଟͷ࣮Λදজ͞Εɺ4IPQJGZ+BQBOΑΓ̎ͷදজΛड͚͍ͯ·͢ɻ
5XP(BUFͷϓϩμΫτ
7 /PDPEF-PXDPEFιϦϡʔγϣϯ ϞόΠϧΦʔμʔ (ΞϓϦ) ΦϯϥΠϯΨνϟ (Web) ެࣜΞϓϦ (ΞϓϦˍ̬eb) Nocode Low
code
8 ##ڞϓϩμΫτ ళ͚ ίϛϡχέʔγϣϯπʔϧ PCͰͷಇ͖ํ ՄࢹԽπʔϧ
Angular x Auth0 ෳαʔϏεల։Ͱͷೝূج൫Λߟ͑Δ
w αʔϏεͷೝূͲ͏ͯ͠·͔͢ʁ w ΞϓϦʴ8FCఏڙͷೝূͲ͏ͯ͠·͔͢ʁ w #$##ͷαʔϏεఏڙ 10 ຊ
w ࣄۀن͕֦େ͢Δʹ࿈ΕͯɺෳαʔϏεల։αϒαʔϏεͰͷల։Λߟ͑࢝ΊΔɻ w ಉ͡ϢʔβͰͷΫϩεηϧͰͷαʔϏεల։ w ಛʹ࠷ۙͷ##4BB4Ͱͦͷߴ͘ͳΓͭͭ͋Δ 11 ϚϧναʔϏεͷೝূΛߟ͑Δ
w #$αʔϏε w ແྉ͔Β࢝·Δ w Ϣʔβ୯Ձ͍ w ΞΫςΟϒ͍ w Ϣʔβ୯ҐͰͷཧ
w ݸਓใ͕ͳ͚ΕϦεΫ w ##αʔϏε w ༗ྉܖ w Ϣʔβ୯Ձߴ͍ w ΞΫςΟϒߴ͍ w ॴଐ৫Ͱͷू߹ͷཧ w औΓѻ͍ใͷॏཁੑ͕ߴ͍ 12 αʔϏεಛੑͰ࠾༻͖͢ೝূج൫ҟͳΔ αʔϏεಛੑʹԠͨ͡ೝূج൫ͷࢿ͕ඞཁ
w ಠ࣮ࣗ w 'JSFCBTF"VUIFOUJDBUJPO ($1*EFOUJUZ1MBUGPSN w "VUI w "84$PHOJUP
w "[VSF"%#$ 13 ೝূιϦϡʔγϣϯ
w ͍ͬͯΔਓଟ͍ͱࢥ͏ͷͰׂѪ w ϞόΠϧϑΝʔετͳΞϓϦͩͱ࠾༻࣮͕૿͖͑ͯͨҹ w 5(Ͱ͍ۙ0&.ΞϓϦͰ׆༻͍ͯ͠·͢ w ͍ͮΒ͍ͱ͜Ζ w γϯάϧαΠϯΦϯతͳಈ͖αϙʔτ֎ʢΞϓϦϒϥβͰͦΕͧΕηογϣϯΛ࣋ͭ
ͨΊʣ w 0*%$ରԠ 0"VUIϑϩʔରԠ͍ͯ͠ͳ͍ w ΞϓϦ41"ʹద͍ͯ͠Δ͕ඪ४తͳ8FCΞϓϦͷೝূʹ͑ͳ͍ 14 'JSFCBTF"VUIFOUJDBUJPO
w ಛ w ։ൃͷख͕ؒ࠷খݶʹͳΔΑ͏ʹ4%,͕๛ʹఏڙ͞Ε͍ͯΔ w ෳαʔϏεల։ͰͷγϯάϧαΠϯΦϯͷఏڙ w ۚ༥ɾϔϧεέΞྖҬͷೝূʹରԠՄೳ w ʹPLUBʹങऩ͞ΕPLUBͷαʔϏε
$VTUPNFS*EFOUJUZ$MPVE ͱͯ͠ ఏڙ 15 "VUI
w 41"ΞϓϦଆ4%,ΛΈࠐΉ͚ͩͰೝূ࣮͕ऴΘΔʹ!BVUIBVUIBOHVMBS w 6OJWFSTBM-PHJOͱ͍͏ϩάΠϯը໘͕ఏڙ͞ΕΔͨΊ w ؆୯ͳϚΠΫϩαʔϏεతͳ"1*Λͭͬͯ͘ೝূΛߟ͑ͳͯ͘ࡁΉ w .1"ͳΞϓϦέʔγϣϯͰ͋Εɺ"84ͷ"QQMJDBUJPO-PBE#BMBODFSͷೝূʹܨ͙͚ͩͰ࣮ݱͰ͖Δ w ཧը໘ͳͲकΓ͍ͨͱ͜Ζʹ༗ޮ
w ΞϓϦέʔγϣϯʹΈࠐΈͭͭ"-#ͰࣄલೝূΛֻ͚͓ͯ͘ͱ͞ΒʹηΩϡΞʹ w "DUJPOTͰ/PEFKTʹΑΔ"VUIͷೝূڍಈΛ֦ு͢Δ͜ͱՄೳ w ྫ͑*1੍ݶͳͲΛ"DUJPOTͰ࣮Ͱ͖Δ 16 "VUIͷศརͳͱ͜Ζ
17 ๛ͳೝূखஈʹରԠͰ͖Δ ιʔγϟϧϩάΠϯ Google / Apple / LINEͳͲ ΤϯλʔϓϥΠζϩάΠϯ Okta
/ HENGE / Google Workspaces Azure AD / SAML ύεϫʔυϨεϩάΠϯ ϝʔϧϦϯΫ / SMSϫϯλΠϜ / WebAuthn ϝʔϧΞυϨε/PWҎ֎ͷೝূखஈΛΞϓϦέʔγϣϯଆͰߟ͑Δඞཁ͕ͳ͘ͳΔɻ Auth0Ͱઃఆ͢Δ͚ͩ
18 αʔϏεΞʔΩςΫνϟͷྫ ސ٬ ϙʔλϧ αΠτ αʔϏε A αʔϏε B ڞ௨ೝূج൫
ϑϧεΫϥον ϑϧεΫϥον OAuth OAuth SAML w ҟछγεςϜಉ࢜ͷ࿈ܞ w 4".-0"VUI w "VUIͰͷ$PPLJFηογϣϯʹΑ ΓγϯάϧαΠϯΦϯΛ࣮ݱ w αʔϏε͝ͱʹೝূΛٻΊΒΕͳ ͍
w "VUIͷΞΧϯτΛ࡞͠ɺ"QQMJDBUJPOΛ࡞ 19 "OHVMBSʹ"VUIΛಋೖ͢Δखॱ
20 "OHVMBSͷಋೖνϡʔτϦΞϧ
w OQNJOTUBMM!BVUIBVUIBOHVMBS 21 "OHVMBSͰͷηοτΞοϓ
22 ϩάΠϯϘλϯͷ࣮
w "1*ʹΞΫηετʔΫϯΛૹΔʹʁ 23 "1*ͷೝূ w *OUFSDFQUPS͕ଂ͞Ε͍ͯΔͷͰɺ .PEVMFʹઃఆΛ༩͑Δ͚ͩͰΞΫηε τʔΫϯ͕"VUIPSJ[BUJPOϔομʹࣗಈͰ ༩͞Ε·͢ɻ
w ඍົͳͱ͜ΖΛృΓସ͑ͳ͕Β࡞͍ͬͯΔಠࣗೝূͷ࣮͕ϓϩμΫτ͝ͱʹҟͳΔ w ˠͯ͢"VUIͷ࣮ʹू͞Εͨ w &OUFSQSJTFܖΛక݁͠·ͨ͠ w ࠷ऴతʹ͍ΖΜͳೝূखஈͷରԠϢʔβن͕૿Ճͨͨ͠Ί w શϓϩμΫτͷॏཁͳՕॴΛकΔηΩϡϦςΟࢿͱͯ͠
24 ࣾͰಋೖͯ͠Έͯ
w αʔϏεಛੑʹԠͨ͡ඞཁͳೝূج൫Λબ͠·͠ΐ͏ w ෳͷ##αʔϏεల։ʹ"VUIΛ࠾༻͢Δͱ։ൃ͕ϋοϐʔʹͳͬͨ w 4%,͕ରԠ͍ͯ͠ΔݴޠɾϑϨʔϜϫʔΫͰಋೖ͕؆୯ w ҟछγεςϜͰ0*%$4".-ରԠ͍ͯ͠ΔγεςϜͱͷ݁߹༰қ 25 ·ͱΊ