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
Laravel + Auth0で複数のSNS認証を簡単に実現.pdf
Search
Takayuki
August 07, 2019
Programming
410
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Laravel + Auth0で複数のSNS認証を簡単に実現.pdf
Laravel + Auth0で複数のSNS認証を簡単に実現
Takayuki
August 07, 2019
More Decks by Takayuki
See All by Takayuki
Build an MCP Server in Laravel to Enable “AI-Operated” Recruiting Tools(English)
bumptakayuki
0
55
Laravel Applications with DDD x Clean Architecture x Vibe Coding
bumptakayuki
1
130
Laravel × Clean Architecture
bumptakayuki
1
620
エンジニアのキャリア論
bumptakayuki
1
310
地方カンファレンス主催のススメ
bumptakayuki
1
280
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
2
1.4k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
830
沖縄観光、名物を一挙紹介!
bumptakayuki
2
850
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
3.6k
Other Decks in Programming
See All in Programming
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
260
高専キャリア LT 発表内容
crysta1221
6
5.5k
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.7k
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
660
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
260
初めての模倣学習とVLA
natsutan
0
470
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
360
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
670
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.3k
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
160
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
330
A designer walks into a library…
pauljervisheath
211
25k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Crafting Experiences
bethany
1
290
How to make the Groovebox
asonas
2
2.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
300
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Transcript
Laravel + Auth0Ͱෳͷ SNSೝূΛ؆୯ʹ࣮ݱ Laravel + Auth0Ͱෳͷ SNSೝূΛ؆୯ʹ࣮ݱ
3 LaravelͰͷ࣮ํ๏ Agenda 2 Auth0ͱ 1 ࣗݾհ 4 Demo
1 ࣗݾհ
4 ࣗݾհ ◆໊લ ླ ೭(Suzuki Takayuki) ◆ࣗݾհ ɾ1990ɺਆಸݝੜ·Εɻ ɾࣾձਓʹͳ͔ͬͯΒɺϓϩάϥϛϯάΛ࢝ΊΔɻ ɾ2015ʹϑϧεϐʔυʹೖࣾ͠ɺ2017ʹϑϦʔϥ
ϯεΛͬͨޙʹ201711݄ʹԭೄͰىۀɻ ◆झຯ ίεϓϨɺԻָϥΠϒɺϚϥιϯେձʹग़Δɺٿ؍ ઓ ◆Twitter @kanbo0605
5 ࣗݾհ 7/13ʹLaravel ΧϯϑΝϨϯε Ͱొஃ͖ͯ͠·ͨ͠ʂ ৄͪ͘͜͠Β https://dev.re-build.company/ entry/2019/07/23/193108
Copyright Re:Build.inc All Rights Reserved. 1.ձࣾհ ◆ձ໊ࣾ גࣜձࣾRe:Build ◆ॅॴ ԭೄݝԭೄࢢதԝ̍ஸ̍̒−̕
◆ࣄۀ༰ ɾࣗࣾWEBαʔϏεͷاըɾ։ൃɻ ɾडୗ։ൃ ◆ࣾһ 6໊ ◆ΤϯδχΞͷಇ͖ํ ϦϞʔτϫʔΫՄೳͳࣗ༝ͳಇ͖ํΛਪͯ͠·͢ʂ
2 Auth0ͱ
8 ͜ͷࢿྉʹ͍ͭͯ https://speakerdeck.com/bumptakayuki/laravel-plus-auth0-plus-stripe-deecsaitowozuo-tutemita Ҏલɺൃදͨ͠༰ʹ ͚Ճ͑ͨͷͰ͢ʂ
9 ରऀ ɾAuth0ͷಋೖΛݕ౼͍ͯ͠Δํ ɾೝূج൫ͷ࣮ʹΜͰ͍Δํ ɾLaravelͰAuth0Λ࣮ͯ͠Έ͍ͨํ
1 0 Auth0ͱ ɾ֓ཁ Auth0WebΞϓϦϞόΠϧɺAPIͳͲ ʹରͯ͠ೝূɾೝՄͷαʔϏεΛΫϥυ Ͱఏڙ͍ͯ͠Δɺ͍ΘΏΔIDaaS (Identity as a
Service)ϕϯμʔͰ͢ɻ ɾΦεεϝͷํ اۀ͕ͭWebΞϓϦέʔγϣϯAPI, Native Mobile AppͳͲͰϢʔβʔೝূ ೝՄɺηΩϡϦςΟΛΈࠐΈ͍͚ͨΕ Ͳ࣮͕͍͠ɻ https://qiita.com/furuth/items/8826b66a3ec2b2b14222
11 ֤ݴޠ͝ͱͰνϡʔ τϦΞϧ͕ॆ࣮ͯ͠ ͓Γɺ؆୯ʹಋೖͰ ͖·͢ɻ ओཁͳSNSͱ΄ͱΜͲ࿈ ܞ͓ͯ͠Γɺ࿈ܞํ๏ ؆୯ͰศརͰ͢ɻ μογϡϘʔυͰͲͷSNS͔ ΒϩάΠϯ͕͋Δ͔֬ೝͰ͖
Δ ؆୯ʹಋೖͰ͖Δ ϢʔβೝূΛҰݩཧͰ ͖Δ ϝϦοτɾಛ ๛ͳ࿈ܞઌ 2 ʙϝϦοτʙ 1 3
1 2 ๛ͳ࿈ܞઌ Auth0ͱ
1 3 ϢʔβΛҰݩཧ Auth0ͱ
1 4 ෳͷσόΠεʹରԠ Auth0ͱ
1 5 ྉۚମܥ https://auth0.com/pricing
3 LaravelͰͷ࣮ํ๏
ΞϓϦέʔγϣϯ ϩάΠϯ͔Βܾࡁ·ͰͷྲྀΕ /index TOPϖʔδ ৄࡉϖʔδભҠ ࣌ʹϩάΠϯ ϩάΠϯޭͨ͠Β ηογϣϯLaravelଆ Ͱཧ ೝূ
ܾࡁ ߪೖ͔Βܾࡁը໘
1 8 ެࣜͷAuth0ͷLaravelνϡʔτϦΞϧ https://auth0.com/docs/quickstart/webapp/laravel/01-login
1 9 खॱ ᶃAuth0ͷཧը໘ͰΞϓϦέʔγϣϯͷઃఆΛߦ͏ɻ ᶄLaravelΛΠϯετʔϧ ᶅcomposer require auth0/login:”~5.0" Λ࣮ߦ ᶆLoginServiceProviderΛઃఆ
ᶇphp artisan vendor:publishΛ࣮ߦ ᶈ.envΛฤू ᶉroutes/api.phpΛฤू ᶊίϯτϩʔϥΛ࡞ ᶋconfig/auth.phpΛฤू ᶌbladeϑΝΠϧΛฤू
2 0 ᶃAuth0ͷཧը໘ͰΞϓϦέʔγϣϯͷઃఆΛߦ͏ɻ
2 1 ᶄLaravelΛΠϯετʔϧ https://readouble.com/laravel/5.5/ja/installation.html
2 2 ᶅcomposer require auth0/login:”~5.0" Λ࣮ߦ Auth0ϓϥάΠϯΛΠϯετʔϧ Πϯετʔϧ͕ྃ͢Δͱɺ2ͭͷϓϥάΠϯ͕Ճ͞ΕΔɻ vendor\auth0\auth0-php vendor\auth0\login
2 3 ᶆLoginServiceProviderΛઃఆ config/app.phpΛฤू ԼهΛՃ
2 4 ᶆLoginServiceProviderΛઃఆ AppServiceProvider .phpΛฤू ԼهΛՃ
2 5 ᶇphp artisan vendor:publishΛ࣮ߦ ྃ͢Δͱɺconfig/laravel-auth0.php͕࡞͞Εɺ σϑΥϧτͷઃఆϑΝΠϧ͕ެ։͞Ε·ͨ͠ɻ
2 6 ᶈ.envΛฤू ઌ΄Ͳ࡞ͨ͠ΞϓϦέʔγϣϯʹهࡌ͞Ε͍ͯΔυϝΠϯ,ID,ύε ϫʔυΛLaravelΞϓϦέʔγϣϯͷ.envʹՃ͠·͢ɻ
2 7 ᶉroutes/api.phpΛฤू
2 8 ᶊίϯτϩʔϥΛ࡞
2 9 ᶋconfig/auth.phpΛฤू ೝূํ๏ΛAuth0ʹมߋ
3 0 ᶌbladeϑΝΠϧΛฤू
3 1 Auth0ͷRuleͱʁ ϧʔϧɺϢʔβʔ͕ΞϓϦέʔγϣϯΛೝূ͢ Δͱ͖ʹ࣮ߦ͞ΕΔJavaScriptؔͰ͢ɻ ͜ΕΒɺೝূϓϩηε͕ྃ͢Δͱ࣮ߦ͞Εɺ Auth0ͷػೳΛΧελϚΠζ͓Αͼ֦ு͢ΔͨΊ ʹ༻Ͱ͖·͢ɻ ηΩϡϦςΟ্ͷཧ༝͔Βɺϧʔϧίʔυɺα ϯυϘοΫεͷଞͷAuth0ςφϯτͷίʔυ͔
Β࣮ͯ͠ߦ͞Ε·͢ɻ https://auth0.com/docs/rules
3 2 Auth0ͷRuleͷྫ ɾෳࡶͳϩδοΫʢJavaScriptͰهड़Ͱ͖Δͷʣʹج͍ͮͯঝೝϧʔϧΛ࡞ ɾϗϫΠτϦετΛ࡞Ͱ͖ɺిࢠϝʔϧͷ༰ʹج͍ͮͯΞΫηεΛڋ൱ ɾϩάΠϯ͕ϦΞϧλΠϜͰൃੜͨ͠߹ɺAPIΛհͯ͠ଞͷγεςϜ(Slack ͳͲ)ʹ௨ ͳͲ https://auth0.com/docs/rules
3 3 RuleͷՃ RuleΛ৽ن࡞
3 4 RuleͷՃ ෳͷύλʔϯͷRule͕ ࣄલʹ༻ҙ͞Ε͍ͯΔ
3 5 RuleͷՃ RuleͰ༻͢Δڥม ઃఆͰ͖Δ
3 6 Ruleͷྫ MFA(ೋஈ֊ೝূ)ͷઃఆ ؆୯ʹͰ͖Δʂ
3 7 Ruleͷྫ Ϣʔβʔ͕αΠϯΞοϓ͢Δ ͨͼʹεϥοΫνϟωϧʹϝο ηʔδΛૹ৴͠·͢ɻ
3 8 Ruleͷྫ ϝʔϧΞυϨεͷυϝΠϯʹ ΑΔ੍ݶ
3 9 Ruleͷྫ ϢʔβใΦϒδΣΫτ͔ Βࡉ͔͘औಘͰ͖Δ https://auth0.com/docs/rules/references/user-object
WWW.SITE2MAX.PRO Free PowerPoint & KeyNote Templates 4 DEMO EC Site
EC Site https://murmuring-tor-53965.herokuapp.com/
4 1 ࣮ࡍʹಈ͔͢
4 2 ࣮ࡍʹಈ͔͢ ࠓճGoogleɺFacebookɺ TwitterɺGithubʹରԠ
4 3 ࣮ࡍʹಈ͔͢
4 4 ࣮ࡍʹಈ͔͢ MFA(ೋஈ֊ೝূ)ͷը໘
4 5 ࣮ࡍʹಈ͔͢
4 6 ࣮ࡍʹಈ͔͢
4 7 ࣮ͯ͠Έͨײ(ओ؍) ɾ࣮͕͘͢͝؆୯ʹͰ͖ͨ(2͘Β͍ͰECαΠτ͕) ɾҰɺ࣮ͯ͠͠·͑ɺSNSͷ࿈ܞઌ૿͢ͷϘλϯΛ ϙνϙν͢Δ͚ͩͰOKʂ ɾηΩϡϦςΟͷ୲อAuth0ଆ͕୲อͯ͘͠ΕΔ ɾΞΫςΟϒϢʔβʹΑͬͯ՝ۚ͞ΕΔͷͰɺ࠷ॳίε τͰ͑ͯٸ֦େ͢ΔΑ͏ͳελʔτΞοϓاۀͩͱ͍͍ͯ Δ͔͠Εͳ͍ɻ
4 8 ࢀߟ https://qiita.com/furuth/items/8826b66a3ec2b2b14222 https://dev.classmethod.jp/cloud/auth0-overview/ https://www.hypertextcandy.com/laravel-tried-auth0
4 9 ࠂ 10/12 PHPΧϯϑΝϨϯεԭೄ։࠵͠·͢ʂ https://phpcon.okinawa.jp