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
1
390
Laravel + Auth0で複数のSNS認証を簡単に実現.pdf
Laravel + Auth0で複数のSNS認証を簡単に実現
Takayuki
August 07, 2019
Tweet
Share
More Decks by Takayuki
See All by Takayuki
Laravel × Clean Architecture
bumptakayuki
0
370
エンジニアのキャリア論
bumptakayuki
1
210
地方カンファレンス主催のススメ
bumptakayuki
1
220
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
2
1.1k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
680
沖縄観光、名物を一挙紹介!
bumptakayuki
2
680
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
2.8k
flutterでイベントアプリを作ってみた
bumptakayuki
0
160
オフショア開発の辛みと学んだ事
bumptakayuki
0
400
Other Decks in Programming
See All in Programming
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
170
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
180
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
600
開発生産性を上げるための生成AI活用術
starfish719
3
1.2k
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
660
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
1k
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.7k
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
210
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Writing Fast Ruby
sferik
629
62k
Balancing Empowerment & Direction
lara
5
690
We Have a Design System, Now What?
morganepeng
53
7.8k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Thoughts on Productivity
jonyablonski
70
4.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
460
RailsConf 2023
tenderlove
30
1.2k
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