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
Drupal×Auth0 開発レスでセキュアなID管理を試してみた! / 20200214
Search
アクイアジャパン Acquia Japan
February 14, 2020
Programming
0
360
Drupal×Auth0 開発レスでセキュアなID管理を試してみた! / 20200214
https://drupal-meetup-haneda.connpass.com/event/162496/
アクイアジャパン Acquia Japan
February 14, 2020
Tweet
Share
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
150
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
210
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
82
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
150
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
30
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
55
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
360
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
86
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
99
Other Decks in Programming
See All in Programming
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.9k
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
13
3.1k
0から始めるモジュラーモノリス-クリーンなモノリスを目指して
sushi0120
1
280
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
9
2.3k
変化を楽しむエンジニアリング ~ いままでとこれから ~
murajun1978
0
730
バイブコーディング × 設計思考
nogu66
0
120
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
140
あまり知られていない MCP 仕様たち / MCP specifications that aren’t widely known
ktr_0731
0
280
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
230
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
370
Webinar: AI-Powered Development: Transformiere deinen Workflow mit Coding Tools und MCP Servern
danielsogl
0
130
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
280
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
How GitHub (no longer) Works
holman
314
140k
Making Projects Easy
brettharned
117
6.3k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
Documentation Writing (for coders)
carmenintech
73
5k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
The Cult of Friendly URLs
andyhume
79
6.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
For a Future-Friendly Web
brad_frost
179
9.9k
Transcript
Drupal×Auth0 ։ൃϨεͰηΩϡΞͳ IDཧΛࢼͯ͠Έͨʂ ؙࢁ ͻ͔Δ
ؙࢁͻ͔Δ • ಠཱܥιϑτΣΞ։ൃձࣾͰ ιϑτΣΞΤϯδχΞ ͷͪΤόϯδΣϦετͱͯ͠ ϓϩμΫτͷܒ׆ಈ • 20198݄ ΞΫΠΞʹδϣΠϯ Developer
Relations ୲ • Drupalྺɿ20198݄ʙ Ruby / Rails / Web API / Docker / AWS ϥʔϝϯ / εΠʔπ / Ωϟϯϓ൧ / ొࢁ ࣗݾհ
ԿͬͯΔͷʁ • Drupalೝఆࢼݧͷຊޠ൛ͷϩʔϯν ◦ ࡢ11݄ʮΞΫΠΞೝఆαΠτϏϧμʔ – Drupal 8ʯެ։ ◦ ͋ͱ3ͭͷࢼݧΛ3݄·Ͱʹެ։༧ఆ
• ೝఆऀΠϯλϏϡʔهࣄॻ͍ͯ·͢ • DrupalϋϯζΦϯ ◦ ఆظతʹ։࠵ ࣄͷ
× ೝূ ೝՄ
ඪ४ػೳʹࡌ • Ϣʔβʔ࡞ • ϩάΠϯɺϩάΞτ • Ϣʔβʔཧ • ݖݶཧ •
...etc DrupalͷIDཧ
• ৽نϢʔβʔͷ֫ಘ ◦ ձһొ࣌ͷͷܰݮ ◦ ஈ֊తͳใೖྗ • طଘϢʔβʔͷLTV ◦ طଘϢʔβʔͷ࠶๚
◦ ϢʔβϏϦςΟͷ্ έʔε1 : BtoC͚EίϚʔε
• ৽نϢʔβʔͷ֫ಘ ◦ ձһొ࣌ͷͷܰݮ ◦ ஈ֊తͳใೖྗ • طଘϢʔβʔͷLTV ◦ طଘϢʔβʔͷ࠶๚
◦ ϢʔβϏϦςΟͷ্ έʔε1 : BtoC͚EίϚʔε ιʔγϟϧϩάΠϯ
• SaaSɺΫϥυαʔϏεͷ૿Ճ • IDύεϫʔυͷཧ͕ࡶ • ηΩϡϦςΟϦεΫ έʔε2 : BtoB͚ετϨʔδαʔϏε
• SaaSɺΫϥυαʔϏεͷ૿Ճ • IDύεϫʔυͷཧ͕ࡶ • ηΩϡϦςΟϦεΫ έʔε2 : BtoB͚ετϨʔδαʔϏε SSOʢγϯάϧαΠϯΦϯʣ
• SSO • ιʔγϟϧϩάΠϯ • ଞཁૉೝূʢMFAʣ • ϩʔϧϕʔεΞΫηε੍ޚʢRBACʣ • ύεϫʔυϨε
• ෆਖ਼ΞΫηεݕ • ϩάੳ • ...etc ΄͔ʹ͍Ζ͍ΖೝূɾೝՄ DrupalͰ Ͳ͏ରԠ͢Δʁ
ೝূɾೝՄϓϥοτϑΥʔϜ Amazon Cognito
×
ೝূɾೝՄϓϥοτϑΥʔϜ Auth0
ೝূɾೝՄϓϥοτϑΥʔϜ Auth0 ແྉͰ৭ʑͰ͖Δ
ೝূɾೝՄϓϥοτϑΥʔϜ Auth0 ެࣜϞδϡʔϧ ͋ͬͨʂ
× ࢼͯ͠Έͨʂ
# 1. Composerܦ༝ͰDrupalΠϯετʔϧ $ composer create-project drupal/recommended-project drupal-and-auth0 $ cd
drupal-and-auth0 # 2. Auth0ϞδϡʔϧΛΠϯετʔϧ $ composer require drupal/auth0 ϞδϡʔϧΛΠϯετʔϧ
Auth0ʹαΠϯΠϯ • Auth0ʹαΠϯΠϯ ◦ auth0.com • ແྉɺΫϨδοτΧʔυͷొͳ͠Ͱ ར༻Մೳ
ΞϓϦέʔγϣϯ࡞
ΞϓϦέʔγϣϯ࡞ • SettingsͰ৭ʑઃఆ͢Δ ◦ Allowed Callback URLs : http://localhost:5656/auth0/ callback
◦ Allowed Web Origins : http://localhost:5656 ◦ Allowed Logout URLs : http://localhost:5656 ◦ Allowed Origins (CORS) : http://localhost:5656
Drupalଆͷઃఆ • Auth0ͷઃఆը໘Ͱ৭ʑઃఆ ◦ υϝΠϯ ◦ Client ID ◦ Client
Secret ◦ JsonWebToken Signature Algorithm
1 2 ͳͥDrupalͳͷ͔ʁ 3 DrupalʹϞδϡʔϧΛ Πϯετʔϧ Auth0ΞΧϯτ࡞ͱ ΞϓϦέʔγϣϯઃఆ DrupalଆͷAuth0ઃఆ 3εςοϓͰઃఆྃʂ
ͳͥDrupalͳͷ͔ʁ ࢼͯ͠ΈΔͦͷ1 : αΠϯΞοϓ
ͳͥDrupalͳͷ͔ʁ ࢼͯ͠ΈΔͦͷ1 : αΠϯΞοϓ αΠϯΞοϓ Ͱ͖ͨʂ
ͳͥDrupalͳͷ͔ʁ ࢼͯ͠ΈΔͦͷ1 : αΠϯΞοϓ Auth0ͷཧը໘ͰϢʔβʔใ͕ΈΕΔ
ͳͥDrupalͳͷ͔ʁ ࢼͯ͠ΈΔͦͷ2 : DrupalʹొࡁΈͷΞΧϯτͰϩάΠϯ
ͳͥDrupalͳͷ͔ʁ ࢼͯ͠ΈΔͦͷ2 : DrupalʹొࡁΈͷΞΧϯτͰϩάΠϯ ϩάΠϯͰ͖ͨʂ
ͳͥDrupalͳͷ͔ʁ ࢼͯ͠ΈΔͦͷ3 : ϩάΞτ
ͳͥDrupalͳͷ͔ʁ ࢼͯ͠ΈΔͦͷ2 : DrupalʹొࡁΈͷΞΧϯτͰϩάΠϯ ϩάΞτ Ͱ͖ͨʂ
ͳͥDrupalͳͷ͔ʁ ·ͱΊ • ֎෦ͷೝূೝՄϓϥοτϑΥʔϜΛͬͯ Drupalʹ։ൃϨεͰηΩϡΞͳIDཧΛ࣮ݱ • ࠓճࢼͯ͠ΈͨखॱQiitaͰެ։ ◦ https://qiita.com/hmaruyama/items/69abaddf8e4d95793a8f
None