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
JavaのOAuthライブラリ 比較検討
Search
Taipy(タイピー)
March 24, 2025
Technology
0
140
JavaのOAuthライブラリ 比較検討
Taipy(タイピー)
March 24, 2025
Tweet
Share
More Decks by Taipy(タイピー)
See All by Taipy(タイピー)
AI駆動開発 設計書から実装へ
taipy
1
860
20250315_LT資料_Kyoto.kt #2_デザインパターン
taipy
0
96
Other Decks in Technology
See All in Technology
「AI駆動PO」を考えてみる - 作る速さから価値のスループットへ:検査・適応で未来を開発 / AI-driven product owner. scrummat2025
yosuke_nagai
4
630
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
150
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
210
GC25 Recap+: Advancing Go Garbage Collection with Green Tea
logica0419
1
430
自動テストのコストと向き合ってみた
qa
0
190
組織観点からIAM Identity CenterとIAMの設計を考える
nrinetcom
PRO
1
190
社内お問い合わせBotの仕組みと学び
nish01
0
450
extension 現場で使えるXcodeショートカット一覧
ktombow
0
220
生成AI_その前_に_マルチクラウド時代の信頼できるデータを支えるSnowflakeメタデータ活用術.pdf
cm_mikami
0
120
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
150
GA technologiesでのAI-Readyの取り組み@DataOps Night
yuto16
0
280
データエンジニアがこの先生きのこるには...?
10xinc
0
450
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Unsuck your backbone
ammeep
671
58k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
580
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Docker and Python
trallard
46
3.6k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Site-Speed That Sticks
csswizardry
11
880
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Transcript
JavaのOAuthライブラリ 比較検討
自己紹介 出身 香川県 趣味 読書 最近ハマっていること 料理とダッシュ
目次 • 認可とOAuthの概要 • ライブラリの比較検討 • まとめ • 参考文献
概要
認証・認可の基本 識別 Identification このIDは実在ユーザーのものか 認証 Authentication 本当に本人か 認可 Authorization 権限はどうするか
OAuthとは 認可の仕組み APIで利用 アクセストークンを用いて認可 OAuth 2.0認可フレームワークは、第三者アプリケーションがHTTPサービスへの限 定的なアクセス権を取得することを可能にします。これは、リソース所有者とHTTP サービス間の承認インタラクションを調整することでリソース所有者の代理として、ま たは第三者アプリケーションが自身の代理としてアクセス権を取得することを許可す ることによって行われます。この仕様は、RFC
5849で記述されたOAuth 1.0プロトコ ルを置き換え、廃止します。 https://datatracker.ietf.org/doc/html/rfc6749から抜粋し、日本語訳
None
どのライブラリを使用すると良いか (クライアント)
クライアント 1. Spring Security 2. Restlet Framework (draft 30) 3.
ScribeJava 4. oauth2-essentials 5. Light Java Client 6. Google OAuth Java Client 7. Pac4j 8. Nimbus 9. AppAuth for Android
基準 • 特徴 • メンテナンス • 学習コスト
Spring Security 特徴 • 包括的なセキュリティ機能を提供する、Springアプリケーションのため の強力なフレームワーク メンテナンス: • 9k stars
• Springの公式がサポート 学習コスト • Spring Frameworkを使用しているなら低め
ScribeJava 特徴 • シンプルで使いやすい、軽量OAuthライブラリ メンテナンス • 5.5k stars 学習コスト •
シンプルなAPIを提供 • ScribeJava is so easy your grandma can do it! (GitHubより抜粋)
Google OAuth Java Client 特徴 • Googleが提供する、汎用性と利便性を兼ね備えたOAuthクライアント ライブラリ メンテナンス •
626 stars • メンテナンスモードへ移行 学習コスト • Google APIなどのライブラリを使っていると親和性あり
oauth2-essentials 特徴 • プラットフォーム非依存で、あらゆるHTTPクライアントと連携可能な、汎用 OAuth 2.0クライアントライブラリ メンテナンス • 88 stars
• 2016年登場 学習コスト • 比較的新めであるため、ドキュメントや記事が不足している可能性あり
Nimbus 特徴 • 標準規格に準拠した、堅牢で柔軟なOAuth 2.0およびOpenID Connect実装 ライブラリ メンテナンス • ??
stars: Bitbucketのため • 2025-02-26 にコミットあり 補足:SpringがNimbus使ってます 学習コスト • 高め。記事少なめ。
まとめ 使いやすさ・学習コスト →ScribeJava Springを使用しているなら →Spring Security ※サーバーサイド、インフラの構成も考慮する必要あり
参考文献 • 今さら聞けない暗号技術&認証・認可 Web系エンジニア 必須のセキュリティ基礎力をUP (Software Design別冊), https://amzn.asia/d/43sHiXD • OAuth徹底入門 セキュアな認可システムを適用するための
原則と実践, https://amzn.asia/d/f7hNn6v • RFC 6749 4.1. Authorization Code Grant, https://datatracker.ietf.org/doc/html/rfc6749#section-4.1 • OAuth 2.0, https://oauth.net/2/