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
はてなアカウント基盤 State of the Union
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
cockscomb
June 30, 2026
Programming
1.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
はてなアカウント基盤 State of the Union
cockscomb
June 30, 2026
More Decks by cockscomb
See All by cockscomb
jq at the Shortcuts
cockscomb
1
2.1k
GraphQL放談
cockscomb
4
2.2k
GraphQL Highway
cockscomb
28
8.9k
吉田を支える技術
cockscomb
0
2.6k
コーポレートサイトを静的化してAmplify Consoleにデプロイする
cockscomb
0
3.5k
ユーザインターフェイスと非同期処理
cockscomb
5
2.1k
GUIアプリケーションの構造と設計
cockscomb
10
10k
イカリング2におけるシングルページアプリケーション
cockscomb
2
7.8k
あなたの知らない UIKit の世界 — UITableView に UITextView を置きたい
cockscomb
1
7.7k
Other Decks in Programming
See All in Programming
AIが実装を担う時代の「技術設計」と「チームマネジメント」
kamina_zzz
2
220
SODA - FACT BOOK(JP)
sodainc
1
40k
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
360
はじめてのPLATEAU
nokonoko1203
1
580
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
ChromeでローカルLLM
ryu1013
0
200
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
210
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
620
Getting Started with Vibe Coding
miccheng
0
190
Next.js: The final boss of Web Performance
guaca
0
380
AI Augmentation Techniques with Liberty
ivargrimstad
1
390
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
410
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
699
190k
Being A Developer After 40
akosma
PRO
92
590k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
390
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
630
Raft: Consensus for Rubyists
vanstee
143
7.9k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
560
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
740
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
880
Skip the Path - Find Your Career Trail
mkilby
1
290
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Building Adaptive Systems
keathley
44
3.3k
Transcript
はてなアカウント基盤 State of the Union id:cockscomb 2026/06/30 Hatena Engineer Seminar
1
id:cockscomb 加藤 尋樹 チーフエンジニア SPFのテックリード/サブマネージャー 勤続13年 2
サービスプラットフォームチーム 略称 — SPF はてなサービスの基盤を司るチーム 3
はてなアカウント基盤 State of the Union アカウント基盤についての現況をお話しします 4
5 accounts.hatena.ne.jp/login
はてなのログイン はてなID+パスワード(+TOTP) パスキー Apple/Google/Xでログイン 6
パスキーと多要素認証に対応 はてなへのログインがパスキーと多要素認証に 対応し、よりセキュアになりました 多要素認証はTOTP (Time-based One-Time Password) 7
ログインフローを変えるには スマートフォンアプリでもログインしていた ネイティブアプリ初期の意思決定が見直されて いなかった 8
認証と認可 認証 向こう側にいるのは誰か確かめる 認可 クライアントに何を許すか決める 9
最高のアカウント基盤にしたい 「当たり前」を満たしたい サービスを豊かにする強靭なアカウント基盤 10
hatenaid 11
アカウント基盤の再構築 「hatenaid」プロジェクト Perl→Go 認証と認可の整理 将来にわたる改善のためのヘッドルームの確保 12
標準に倣う ログインAPIを発明しない ネイティブアプリが使うのは認可 OAuth 2/OIDCの仕様に倣う コード上でもOAuth 2の概念が一級市民 13
OAuth 2の認可サーバーに 認可サーバー アクセストークンを発行する側 リソースサーバー アクセストークンを受け取る側 14
OAuth 2の仕様に倣う、とは OAuth 2に関連するRFCはたくさんある! RFC 6749 - The OAuth 2.0
Authorization Framework OAuth 2.0の中心。これは当然として draft-ietf-oauth-v2-1-15 OAuth 2.1のdraftも参照 15
アクセストークン RFC 9068 - JSON Web Token (JWT) Profile for
OAuth 2.0 Access Tokens JWT形式(ステートレスではない) RFC 7009 - OAuth 2.0 Token Revocation Revokeエンドポイントもある 16
アクセストークン RFC 7662 - OAuth 2.0 Token Introspection リソースサーバーはIntrospectionエンドポイ ントを呼び出して検証する
17
認可サーバーのメタデータ RFC 8414 - OAuth 2.0 Authorization Server Metadata accounts.hatena.ne.jp/.well-known/oauth
-authorization-server (利用は今の所ご遠慮ください) 18
ネイティブアプリ RFC 8252 - OAuth 2.0 for Native Apps Webベース
(ASWebAuthenticationSession/Custom Tabs) PKCE AppAuthライブラリ 19
ネイティブアプリOAuth 2化 アカウント基盤の更新 Web APIのリソースサーバー化 ネイティブアプリ向け社内SDKの提供 移行完了 20
hatenaidローンチ 認証・認可の基盤として 多要素認証・パスキー導入の準備ができた 21
多要素認証とパスキーについて考える 22 Something You Know Something You Have Something You
Are パスワード ◦ TOTP ◦ パスキー ? ◦ ?
多要素認証とパスキーについて考える リファレンスを頼る NIST SP 800-63 Digital Identity Guidelines 仕様決定時の参考にしている パスキーの安全性について
- cockscomblog? 23
多要素認証とパスキーについて考える リファレンスを頼る パスキーのユーザー ジャーニー | Passkeys | Google for Developers
24
Conditional UI 25
多要素認証とパスキー はてなへのログインがパスキーと多要素認証に 対応し、よりセキュアになりました 同時リリース パスキーを推し出す形に 利便性やフィッシング耐性を含めパスキー推奨 26
パスキーの新しい仕様に追従 Conditional Create (Automatic Passkey Upgrade) はてなへのログインにパスキーへの自動アップ グレードを導入しました Signal API
27
サービス開発を楽にする 新しいラボサービスの認証にhatenaidのOIDC ラボサービスのアプリにもOAuth 2を提供 28
時代に合わせたアカウント基盤 アカウント基盤にも変化が求められる 新しい標準への対応 より便利でより安全な仕組み 29
将来の変化に向けて AIエージェントの時代になってアカウント基盤 に求められる機能 Authorization - Model Context Protocol MCPのHTTP-based transportにおける認可
30
事前知識のないクライアントからの認 可 これまで クライアントはサーバーの事前知識があった MCP クライアントにサーバーの事前知識がない 31
クライアントをどう登録するか RFC 7591 - OAuth 2.0 Dynamic Client Registration Protocol
動的クライアント登録 draft-ietf-oauth-client-id-metadata-docum ent-01 クライアント情報のURLをClient IDにする 32
まとめ はてなのアカウント基盤の進化を紹介した 認証・認可の分離 セキュアな認証への対応 アカウント基盤は真面目にやるほどおもしろい 時代に合わせたニーズがある 33