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
OpenID TechNight 13 ritou
Search
ritou
August 26, 2015
Technology
5.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OpenID TechNight 13 ritou
https://openid.doorkeeper.jp/events/29487
にて発表した資料です。
ritou
August 26, 2015
More Decks by ritou
See All by ritou
“ID沼入口” - 基本とセキュリティから始める、考え続けるためのID管理技術勉強会 告知&イントロ
ritou
0
540
認証認可だけじゃない! ID管理の構成要素と ライフサイクルを意識しよう
ritou
1
670
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
2
1.3k
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
2
7.3k
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
12
8.8k
Password-less Journey - パスキーへの移行を見据えたユーザーの準備 + α
ritou
1
200
Password-less Journey - パスキーへの移行を見据えたユーザーの準備 @ AXIES 2024
ritou
4
1.9k
OIDF-J EIWG 振り返り
ritou
2
130
そのQRコード、安全ですか? / Cross Device Flow
ritou
4
690
Other Decks in Technology
See All in Technology
[MIRU26] Open-Vocabulary Intention-Guided Object Detection in Diverse Scenes
keio_smilab
PRO
0
140
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
0
1.5k
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
180
SmartHR Engineering Team Deck
smarthr
0
190
ガバメントクラウドでのランサムウェア対策
techniczna
1
800
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
130
Retriever と Reranker、結局どうする?
kazuaki
2
670
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
1
200
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
280
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
270
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
1
180
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
528
40k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
330
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Context Engineering - Making Every Token Count
addyosmani
9
1k
The Spectacular Lies of Maps
axbom
PRO
1
890
Building an army of robots
kneath
306
46k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
350
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Leo the Paperboy
mayatellez
8
2.1k
Transcript
コンシューマ領域における ID連携のユースケースと ライブラリ紹介(OAuth編) Ryo Ito(@ritou) 1
自己紹介 Ryo Ito @ritou ← あーるいとう or りとう
or 猫(なんでもいい) OpenIDファウンデーション・ジャパン エヴァンジェリスト (株)ミクシィ エンジニア 2
コンシューマ領域のID連携 3
コンシューマ領域のID連携 RP : コンシューマ向けサービス ユーザ : コンシューマ向けサービスの利用者
IdP : 別のコンシューマ向けサービス →今回はRP側のお話 4
コンシューマ領域のID連携 新規アカウント登録時に外部サービスのユー ザー情報を利用 ログイン時に外部サービスから受け取った ユーザー情報を利用 → いわゆる ソーシャルログイン
5
ソーシャルログインのメリット 利便性向上 パスワード入力 属性情報入力 コスト削減 メールアドレスの疎通確認 多要素認証 ※
セキュリティ向上 6
7
代表的なIdP 8 引用元 : http://janrain.com/blog/social-login-trends-across-the-web-q1-2015/
代表的なIdP 9 引用元 : https://www.feedforce.jp/release/4979/
10 IdPかつRP
エンタープライズとの違い 属性情報を利用するタイミング ID連携で属性情報を同期し続けるケースはあまり ない 初期値に使ってすぐに登録完了 or フォームにプリ セットして入力補助
認証のレベル IdP側の認証強度を意識していないケースが多い 11
実装方法 12
ID連携の実装方法 1. 各IdPが提供するライブラリ 13 RP IdP IdP IdP SDK SDK
SDK
ID連携の実装方法 1. 各IdPが提供するライブラリ いわゆるSDK メリット ID連携はシンプルに実装できる デメリット
提供していないIdPもある IdPが想定しているユースケース、言語に限定 複数IdPサポート時に混乱が生じる可能性 14
ID連携の実装方法 2. ソーシャルログイン as a Service 15 RP IdP IdP
IdP ここに 入る
ID連携の実装方法 2. ソーシャルログイン as a Service 16 引用 : http://developers.janrain.com/how-to/social-login/deploy-social-login/
ID連携の実装方法 2. ソーシャルログイン as a Service ソーシャルログインをサービスとして提供 メリット
各IdP毎のプロトコルの差異を吸収し、RPはシン プルな実装で複数IdPから統一された属性情報を取 得可能 デメリット ID連携以外にもいろいろしたいときに難しい場合 がある 17
ID連携の実装方法 3. 複数IdPをサポートするライブラリ 18 RP IdP IdP IdP Library
ID連携の実装方法 3. 複数IdPをサポートするライブラリ 各IdPとのID連携をサポートするライブラリ OmniAuth など。各IdPの差異をStrategyが吸収 PluginによりWAFとの相性も良かったりする メリット
複数IdPから統一された属性情報を取得可能 デメリット 安全な実装になっていないケースも? 19
ID連携の実装方法 4. プロトコルをサポートするライブラリ OAuth 2.0用ライブラリ等を用いて実装 メリット 元気があればなんでもできる!
デメリット 各IdPのこまかーい癖に悩まされる可能性 RFC, Draft, Draft(改, ほとんど独自 20
OAuth 2.0を使ったID連携 21
OAuth 2.0でID連携? OAuth はリソースアクセスのしくみ ID連携のために、APIアクセスにより必要な情 報を取得 識別子 プロフィール情報
22
今回取り上げる例 IdP(Server) : Webアプリケーション RP(Client) : Webアプリケーション
デバイス : Webブラウザ 23
OAuthでID連携 : 3つのフェーズ 1. リソースアクセスを要求 24 ユーザー RP IdP IdPでログイン
ユーザーはRPからIdPに送られる RPからIdPに送られる情報 • RPの識別子 • 戻り先URL • アクセスしたいリソース の範囲 • その他セキュリティ対策 用
OAuthでID連携 : 3つのフェーズ 1. リソースアクセスを要求 25
OAuthでID連携 : 3つのフェーズ 2. Access Tokenの取得 26 ユーザー RP IdP
ユーザーがRPに対してリソースアクセスを許可 Access Token IdPからRPに送られる情報 • 認可コード RPからIdPに送られる情報 • RPの識別子 • RPの鍵 • 認可コード ユーザーはRPに戻される Access Token要求
OAuthでID連携 : 3つのフェーズ 3. 属性情報の取得 27 ユーザー RP IdP ユーザーがRPに対してリソースアクセスを許可
Access Token IdPからRPに送られる情報 • Access Token 属性情報
続きは… RFCとなった「OAuth 2.0」――その要点は? http://www.atmarkit.co.jp/ait/articles/1209/ 10/news105.html 28
課題 29
ここまで紹介したID連携における課題 各IdPの差異 OAuth 2.0ベースといいつつ… 識別子取得のタイミング 属性情報取得時のAPIアクセス方法 認証強度、認証方式など あまり考えられていない
OAuth 2.0の対象外の部分 30
困ったらOpenID ファウンデーション・ ジャパンまでご連絡ください 31