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
冬休みに作ったフロントエンドOIDC実装の解決策:vite-plugin-oidc
Search
kouki.miura
January 30, 2026
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
冬休みに作ったフロントエンドOIDC実装の解決策:vite-plugin-oidc
ViteプラグインでOpenID Connectプロトコルに準拠したOIDCスタブを実装しました。
そのプラグインの説明と簡単な使い方です。
kouki.miura
January 30, 2026
More Decks by kouki.miura
See All by kouki.miura
ポジティブアウトカムを用いた医療費削減の可能性について
koukimiura
0
55
VueSapporo#2
koukimiura
0
48
Vuetify4 v-calendarをちゃんと理解する
koukimiura
0
60
認証統合から始めるフロントエンドの機能単位開発 — マイクロサービス思想の適用
koukimiura
0
120
Fiberとは何か?PHPが“非同期言語”になった瞬間
koukimiura
0
82
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
210
Laravel入門:最小構成で理解するMVC
koukimiura
0
140
VueSapporo#1
koukimiura
0
76
Vue.jsを10分で再定義する
koukimiura
1
73
Other Decks in Programming
See All in Programming
CSC307 Lecture 17
javiergs
PRO
0
320
net-httpのHTTP/2対応について
naruse
0
480
Claspは野良GASの夢をみるか
takter00
0
190
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
520
Vite+ Unified Toolchain for the Web
naokihaba
0
310
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
さぁV100、メモリをお食べ・・・
nilpe
0
140
ふつうのFeature Flag実践入門
irof
7
3.9k
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
230
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
500
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
170
スマートグラスで並列バイブコーディング
hyshu
0
140
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Six Lessons from altMBA
skipperchong
29
4.3k
Building an army of robots
kneath
306
46k
Balancing Empowerment & Direction
lara
6
1.2k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Amusing Abliteration
ianozsvald
1
200
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
590
Utilizing Notion as your number one productivity tool
mfonobong
4
320
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Transcript
冬休みに作ったフロントエンドOIDC実装の解決策 :vite-plugin-oidc 2026.01.30 SAPPORO ENGINEER BASE #13 冬休みアウトプットLT大会 三浦 恒樹
(MIURA KOUKI) 診療情報管理士 上級医療情報技師 医用画像情報専門技師 ドゥウェル株式会社
長男が飼っている ハリネズミのモンちゃん がアイコン INTRODUCE ・ドゥウェル株式会社 (医療系IT開発・導入会社)に所属 ・マネージャー(プレイング・マネージャー) ・TypeScript, Vue.js, Node.js,
Java,C#, PHP ・3児の父、休日は子どものサッカー観戦 ・参加している勉強会 札幌PHP勉強会、JBUG札幌、JavaDO、ゆるWeb勉強会、えびてく、 クラメソ札幌IT勉強会(仮)、AWS初心者LT会in札幌、 札幌すごいAI会、札幌IT石狩鍋、函館本線沿線勉強会 等 ・ヘビーローテーション(開発生産性に寄与する楽曲たち) ラックライフ(Hand,Naru,Believe)、BLUE ENCOUNT(ポラリス,Survivor) SHANK、Dizzy Sunfist
・OIDCとは? ・フロントエンドOIDC実装の課題 ・フロントエンドOIDC実装の解決アイデア ・vite-plugin-oidcの紹介 ・viteとは? ・viteプラグインとは? ・vite-plugin-oidcの使い方 ・vite-plugin-oidcのデモ ・2026年の2つの目標設定 ・vue-sapporoの紹介
・まとめ INDEX
OIDCとは? https://learn.microsoft.com/ja-jp/entra/architecture/auth-oidc
フロントエンドOIDC実装の課題 開発するアプリ OIDCサーバー
フロントエンドOIDC実装の解決アイデア 開発するアプリ OIDCサーバー= viteプラグインで解決! 環境作り・準備を意識しなくて よくなる=開発スピードアップ
vite-plugin-oidcの紹介 https://www.npmjs.com/package/vite-plugin-oidc 特徴 ・Authorization Code Flow + PKCE完全サポート ・Vite開発サーバーによるゼロ・コンフィギュレーション ・マルチ・ユーザー・アカウント対応
・カスタマイズ可能なエンドポイント、JWT、トークン期限 ・OIDCディスカバリー、JWKS、UserInfoエンドポイント対応 ・ロギング、エラーメッセージによる開発者サポート ・PKCE必須、リダイレクト先URI検証等のセキュリティ重視 ・イン・メモリによる軽量設計 メンテナー、コミッター募集! いっしょにOIDC開発環境にコントリビュートしていきませんか?
viteとは? https://ja.vite.dev/ ・vite=フランス語で「素早い」 ・発音は「ヴィート」 ・[vite]=高速なHMR、豊富な機能拡張を提供する開発サーバー ・[vite build]=Rollupでコードバンドル ・プラグインを通じてフレームワークやツールとの統合が可能 ※HMR: Hot
Module Replacement
viteプラグインとは? ・vite.config.tsで読み込まれる拡張機能 ・開発サーバーやビルド実行時に、読み込まれたプラグインの フック(コールバック)が呼び出される https://ja.vite.dev/guide/api-plugin
Viteプラグインとは? - フック一覧
vite-plugin-oidcの使い方 # pnpm add oidc-client-ts # pnpm add -D vite
vite-plugin-oidc 1.依存関係(npmパッケージ)追加 { "scripts": { "dev": "vite" }, "devDependencies": { "vite": "^7.3.1", "vite-plugin-oidc": "^0.0.4" }, "dependencies": { "oidc-client-ts": "^3.4.1" } } package.json 通常のOIDCクライアントと して必要なライブラリ viteとvite-plugin-oidc を開発用に 依存関係はこれだけ!
vite-plugin-oidcの使い方 2.vite設定(vite.config.ts) 4ファイル クライアント(RP)設定 ユーザー設定 /idpでOIDCスタブ
vite-plugin-oidcの使い方 3.index.html
vite-plugin-oidcの使い方 4.index.ts /idpが認証サーバー
vite-plugin-oidcのデモ
2026年の2つの目標設定 テックブログはじめました。 週1ペース(52本/年)でアウトプットしていきます。 1 2 札幌のVue.jsエンジニアLT会 VueSapporoを6回/年開催。 Vue.jsエンジニアの皆さん、一緒にVue関連技術を学びましょう。
vue-sapporoの紹介
ご清聴ありがとうございました。 まとめ ・OIDC認証を含むフロントエンド開発時、OIDCサーバー(OP)のセットアップが課題 →Vite開発サーバーとOIDC連携すれば楽! : 解決策 →Vite開発サーバーでOIDCする為にプラグインを開発 : 冬休み(にも)作った ・vite-plugin-oidcはKiroで実装後、リファクタリングを進めている →メンテナー、コミッター募集中です。 ・コードをきれいにしたい、UT実装したい ・ログイン画面→ユーザー(プロファイル)選択画面に変えたい 等...