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
自サークルのIdPからログアウトできるようになるまで
Search
taiseiue
October 05, 2026
Programming
14
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自サークルのIdPからログアウトできるようになるまで
Kyoto.js 25
で発表した資料です
taiseiue
October 05, 2026
More Decks by taiseiue
See All by taiseiue
同人サークルを作って 8年経った僕らの現在地
taiseiue
0
200
RustでもVJしたい!
taiseiue
0
100
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
540
Kotlinのデフォルト引数の話
taiseiue
0
120
.NETの上でお手製の言語を動かす技術
taiseiue
0
120
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
490
振り向き美人
taiseiue
0
41
Tadpole operators
taiseiue
0
92
(自作の)プログラミング言語ができるまで
taiseiue
1
690
Other Decks in Programming
See All in Programming
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
420
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
260
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.6k
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.3k
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
0
380
AHC070解法紹介
eijirou
0
150
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
120
Simple Storage Service(S3) is not simple
iwatsukayura
0
120
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.3k
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
330
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
570
We Have a Design System, Now What?
morganepeng
55
8.3k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
380
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Facilitating Awesome Meetings
lara
57
7.2k
Navigating Team Friction
lara
192
16k
Rails Girls Zürich Keynote
gr2m
96
14k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Transcript
自サークルのIdPから ログアウトできるようになるまで taiseiue 2026/10/5 Kyoto.js #25
JavaScript
https://www.nicovideo.jp/watch/sm1122515
https://dic.pixiv.net/a/ブラクラ
window.self • 上村太成 a.k.a. taiseiue • Kyoto.cs / CKP学生部 •
趣味: TS / Go / C# でない: TS / Go / Perl • 京都産業大学 / はてな マネーフォワード
前半の話 自サークルのIdPから ログアウトできるようになるまで 後半の話 taiseiue 今日はあんまりしない話 2026/10/5 Kyoto.js #25
None
None
None
None
None
None
自サークルのIdPから ログアウトできるようになるまで taiseiue 2026/10/5 Kyoto.js #25
https://speakerdeck.com/taiseiue/discord-oidc-proxy
https://speakerdeck.com/taiseiue/discord-oidc-proxy
https://speakerdeck.com/taiseiue/discord-oidc-proxy
https://speakerdeck.com/taiseiue/discord-oidc-proxy
一見さんもログインしてもらいたい
ロールベースのアクセス制御もしたい
fl Cloud areを挟めないサービスもある
オレオレアカウントを作る
オレオレアカウントを作る ↑たぶんやらない方がいい選択↑
None
None
None
None
😭
世間では最近ory stackが人気 https://www.ory.com/
世間では最近ory stackが人気 https://www.ory.com/
ory stackのいいところ • セルフホストできる • コンポーネントに分かれていて、 それぞれHeadlessなのでカスタムしやすい
https://www.ory.sh/docs/ecosystem/projects
アプリケーションはログインすると き、はじめory/hydraに遷移する
アプリケーションはログインすると き、はじめory/hydraに遷移する アプリケーションから見ると ory/hydraがOpenID Providerに見えている
ory/hydraは誰がログインしているか 知らないのでory/kratosに 遷移させログインさせる
ory/hydraは誰がログインしているか 知らないのでory/kratosに 遷移させログインさせる ユーザーはここでory/kratosにログインする
ory/kratosから受け取った情報を元に アプリケーションにユーザー情報を返す ここでory/hydraはユーザーに情報を渡していいかの fl 許可取り(consent ow)も行っている
かっこいい!うちもこれで!!
でももうユーザーアカウントちょっとある
😭
ory/hydraは誰がログインしているか 知らないのでory/kratosに 遷移させログインさせる ユーザーはここでory/kratosにログインする https://www.ory.sh/docs/ecosystem/projects
ory/hydraは誰がログインしているか 知らないのでory/kratosに 遷移させログインさせる ユーザーはここでory/kratosにログインする https://www.ory.sh/docs/ecosystem/projects
ory/hydraは誰がログインしているか 知らないのでAuth0に 遷移させログインさせる ユーザーはここでAuth0にログインする https://www.ory.sh/docs/ecosystem/projects
そんなこんなでできました
None
クライアント アプリケーション RP=Relying Party
OP=OpenID Provider クライアント アプリケーション RP=Relying Party
クライアント アプリケーション アカウント設定画面 Next.js製
クライアント アプリケーション アカウント設定画面 Next.js製 スタッフ側管理画面 TanStack製
Auth0のIDからAccountDBを引いてアカウント情報をhydraに渡す Go製 クライアント アプリケーション アカウント設定画面 Next.js製 ユーザーのプロフィールなどは Auth0ではなくこっちに保存 スタッフ側管理画面 TanStack製
None
自サークルのIdPから ログアウトできるようになるまで taiseiue 2026/10/5 Kyoto.js #25
ログアウトって何する処理でしょう?
CookieとかSession消したらよさそう
None
None
None
None
ここに残ったセッション情報で ログインし続けられてしまう
https://openid.net/specs/openid-connect-rpinitiated-1̲0.html
None
アプリケーションがログアウトする ときにOPのセッションを失効させる
アプリケーションがログアウトする ときにOPのセッションを失効させる
None
None
None
まだログインしたまま
https://www.ory.com/docs/hydra/guides/logout
None
hydraはログアウトしてよいかユーザーに尋ねるので、 これを利用してapps/coreがAuth0からもログアウトさせる
hydraはログアウトしてよいかユーザーに尋ねるので、 これを利用してapps/coreがAuth0からもログアウトさせる
ここはstate-lessだよ
ここはstate-lessだよ
ここはstate-lessだよ
ここはstate-lessだよ
ログアウト成功 ここはstate-lessだよ
アレ... ログアウト成功 ここはstate-lessだよ
他のアプリケーションからも ログアウトされていてほしい ログアウト成功 ここはstate-lessだよ アレ...
https://openid.net/specs/openid-connect-backchannel-1̲0.html
hydraがログアウト時に他のアプリケーションに back-channel logoutして周る ここはstate-lessだよ
None
ここはstate-lessだよ
ログアウト成功! ここはstate-lessだよ
わかったこと • 認証認可の不具合はコンポーネント単体よりも 境界面で起きる • 認証認可を設計するとき、どこに状態があるか を最初に洗い出すと良い
自サークルのIdPから ログアウトできるようになるまで taiseiue 2026/10/5 Kyoto.js #25
時間余ったとき用
None
None