Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Laravel x nuxt.js ~認証難しい問題~
Search
Masaru Yamagishi
June 07, 2019
Programming
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Laravel x nuxt.js ~認証難しい問題~
at Laravel x Vue.js 勉強会 in 札幌 vol.1
https://larasap.connpass.com/event/130842/
Masaru Yamagishi
June 07, 2019
More Decks by Masaru Yamagishi
See All by Masaru Yamagishi
Babylon.js 勉強会 vol.4 JAPAN 活動紹介
myamagishi
0
190
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
1.1k
3D ブラウザゲーム開発を始めたい人のために準備している話
myamagishi
1
260
「DI」と仲良くなる
myamagishi
6
3.8k
大解剖!amphpを使って非同期 PHP を実現しよう!
myamagishi
1
4.3k
PHP で負荷試験のシナリオを書きたい!ので amphp を使って自作した件
myamagishi
2
1.3k
秒間 10,000 リクエストを "簡単に"いなすゲームサーバーを Laravel で作る設計
myamagishi
19
17k
xR グラスが普及した新時代を妄想する - XRKaigi 2022
myamagishi
0
320
Reflection を使いこなして、 オブジェクトを型安全に マッピングしよう!
myamagishi
2
1k
Other Decks in Programming
See All in Programming
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
520
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
190
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
460
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
190
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
850
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
300
No More NoSuchMethodError
exoego
1
110
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4.3k
ジョジョの世界をXRで再現する
mofurune
0
180
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
160
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
430
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
530
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
640
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2.1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Code Review Best Practice
trishagee
74
20k
Claude Code のすすめ
schroneko
67
230k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
570
We Are The Robots
honzajavorek
0
400
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Transcript
Laravel x nuxt.js ~認証難しい問題~ 山岸 “あかいいぬ” Masaru 2019/06/07
山岸 “あかいいぬ” Masaru - ㈱インフィニットループで 5 年ほど - PHP, golang,
JavaScript, TypeScript, GLSL - Laravel, Slim, nuxt.js, babylon.js - AWS, GCP https://il-m-yamagishi.github.io
None
None
https://github.com/virtual-cast/babylon-vrm-loader
https://virtualcast.jp/blog/2019/04/ux-dx-friendly-with-nuxt-js/ nuxt.js?
THE SEED ONLINE
THE SEED ONLINE xR 時代のアセット流通プラットフォーム 1. ブラウザで 3D モデルをアップロード 2.
プレビュー 3. Unity SDK でダウンロード バーチャルキャスト、Vタビで使える (今後もっと増える)
ただの Google Drive じゃね説
わかる
THE SEED ONLINE の未来 - 3D モデルだけでなく、音や画像なども対象に - アップロードしたものを販売出来るように(as UGC)
- 今バーチャルマーケットでやっていることをうちでもやりたい - THE SEED ONLINE ID で様々な VR 世界を渡り歩ける(as OAuth Provider) - 他にも色々考え中!
二段構成 Unity SDK https://seed.online https://api.seed.online WebView JSON API フロントエンド ユーザ
バックエンド
with OAuth Login
as OAuth ID Provider
Laravel Socialite Twitter, Facebook などの OAuth Provider ID を使って Laravel
ユーザ認証する niconico Provider を実装した(OAuth 周りの仕様つらい) あれ、でもフロントエンドは nuxt.js …?
認証難しい問題
認証難しい問題 ユーザは nuxt.js(node.js) サーバにアクセスする https://seed.online データは Laravel サーバから取得する https://api.seed.online どうやって
nuxt 上で Laravel 認証するか
認証難しい問題 Laravel デフォルトは Cookie でステートフル(セッション)認証を行う Laravel Passport は別途 SDK 向けに使うから使えない
Laravel Socialite で別サービスでログイン出来る必要もある
認証難しい問題 SDK + mail https://seed.online https://api.seed.online https://oauth.seed.online セッション情報を保持 (localStorage) ログインコールバック
WebView Authorize users DB API Request
認証難しい問題
tymon/jwt-auth No v1.0 in 3+ years, 400+ issues, only 1
project member #1810 実用にはちょっと...という状態
ステートレス化 nuxt <-> Laravel は json API でステートレスにしたい -> `Authorization:
Bearer token` のトークンをクッキーに入れる Middleware https:://carbon.now.sh 画像生成良い
ステートレス化 ログイン完了時にセッションIDを暗号化して json response EncryptCookies Middleware も入れておく
ステートレス化 nuxt 側はヘッダーに jwt ぽく入れるだけ
Socialite 対応 OAuth の仕様で、 Cookie ステートフルでなければならない Cookie に `;domain=seed.online` と明示して共有出来るようにした
サブドメインの異なるサービス間で cookie を共有する
Passport 対応 ログインと連携確認の描画は nuxt 側 Passport で `return view();` する場所を全て
nuxt にリダイレクトする形に変更 Cookie も Socialite 同様共有 OAuth 仕様つらい
リダイレクトバック対応 ログインしたらログインする前にいたページに戻りたい ログインを求める前に `window.sessionStorage` に今のパス情報を保存 ログイン後に復元してリダイレクト ※セキュリティ的に問題ないかチェックが必要
OAuth チュライ
fin.