SlideShare a Scribd company logo
field_flat
スライドで理解する
OAuth 2.0
• サービスAを、サービスBと連携させたい!
OAuthの背景
Twitter(サービスB)
ENIGMA(サービスA)
ENIGMAを、Twitterと
連携させたいなあ。
ENIGMAは、著者が開発した、
オンライン競技 解きサイトです。
• (安直な方法) サービスAにサービスBのアカウント情報を教える。
OAuthの背景
Twitterのユーザ名はhogehoge
で、パスワードはfugafuga
だよ∼
Twitter(サービスB)
ENIGMA(サービスA)
• (安直な方法) サービスAにサービスBのアカウント情報を教える。
OAuthの背景
Twitterのユーザ名はhogehoge
で、パスワードはfugafuga
だよ∼
Twitter(サービスB)
ENIGMA(サービスA)
自由に連携可能!
• (安直な方法の問題点)サービスAが情報を悪用する可能性がある。
OAuthの背景
Twitter(サービスB)
ENIGMA(サービスA)
Twitterのアカウント情報を悪用して、
やばいことを呟いてやろう・・・
ENIGMAは、決してそんな
悪いことはしません(重要)。
OAuthの背景
安直な方法ではダメ!
もっといい方法がないかな?
OAuthの背景
安直な方法ではダメ!
もっといい方法がないかな?
OAuthが策定された背景
• アカウント情報の代わりに「アクセストークン」というものを使う
OAuthの概要
Twitter(サービスB)
ENIGMA(サービスA)
アクセストークン
アクセストークン
共有
サービスへのアクセスを許可す
るために必要な権限。
• アカウント情報の代わりに「アクセストークン」というものを使う
OAuthの概要
Twitter(サービスB)
ENIGMA(サービスA)
アクセストークン
アクセストークン
サービスへのアクセスを許可す
るために必要な権限。
アクセストークンを保持していれば、
サービスAは、定められた範囲の中で
サービスBへアクセスすることができる!
どうやってアクセストークン
を共有するの?
どうやってアクセストークン
を共有するの?
この共有方法の規約を定めたものがOAuthである!
どうやってアクセストークン
を共有するの?
この共有方法の規約を定めたものがOAuthである!
OAuth 2.0が最新の規約のため、
以降はOAuth 2.0 プロトコルを説明する
• (1) 認証を開始する
OAuth 2.0の規約
「Twitterアカウントでログイン」ボタンを押下する。
• (2) 認証画面を表示する
OAuth 2.0の規約
「Twitterアカウントでログイン
ボタンが押下されました!」
認証画面を表示しまーす!
認証(Authentication)
認可(Authorization)
• (3) 認証実行
OAuth 2.0の規約
入力してsubmit!
• (4) 認可コードを発行する
OAuth 2.0の規約
認可コードを発行するよ。
この認可コードと一緒にアクセストークン要求を
出したら、アクセストークンを発行するよ。
アクセストークン引き換え券
だと思えばOK!
• (5) アクセストークン要求を発行する
OAuth 2.0の規約
認可コードと引き換えに、
アクセストークンをください!
• (6) アクセストークンを発行し、サービス間で共有する
OAuth 2.0の規約
アクセストークンどうぞ!
• (6) アクセストークンを発行し、サービス間で共有する
OAuth 2.0の規約
アクセストークンどうぞ!
アクセストークンを共有したので、
認可情報をもとにサービスの
連携が可能に!
• OAuth 2.0は、サービスをセキュアに連携するための規約
• アクセストークンの発行方式を定めている
• アクセストークンを使用することで、サービスの連携が可能に
OAuth 2.0のまとめ

More Related Content

Similar to スライドで理解するOAuth 2.0 (20)

Twitter API
Twitter APITwitter API
Twitter API
Hiroshi Tsujimura
 
Oauthってなに?
Oauthってなに?Oauthってなに?
Oauthってなに?
Tatsuaki Watanabe
 
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れOAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
Takeshi Mikami
 
TwitterのBasic認証が今度こそ終わります
TwitterのBasic認証が今度こそ終わりますTwitterのBasic認証が今度こそ終わります
TwitterのBasic認証が今度こそ終わります
Daisuke Nikura
 
Twitter API で学ぶ OAuth
Twitter API で学ぶ OAuthTwitter API で学ぶ OAuth
Twitter API で学ぶ OAuth
Takeru Ujinawa
 
アイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connectアイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connect
Shinichi Tomita
 
OAuthで気持ちのいい アクセス制御を
OAuthで気持ちのいいアクセス制御をOAuthで気持ちのいいアクセス制御を
OAuthで気持ちのいい アクセス制御を
Kousuke Ebihara
 
OAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationOAuth 2.0 MAC Authentication
OAuth 2.0 MAC Authentication
Ryo Ito
 
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティOAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
Taichi Inaba
 
OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可
オラクルエンジニア通信
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
 
091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou
Ryo Ito
 
kitproライトニングトーク
kitproライトニングトークkitproライトニングトーク
kitproライトニングトーク
Taichi Kimura
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
 
ID & IT 2013 - OpenID Connect Hands-on
ID & IT 2013 - OpenID Connect Hands-onID & IT 2013 - OpenID Connect Hands-on
ID & IT 2013 - OpenID Connect Hands-on
Nov Matake
 
OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①
iPride Co., Ltd.
 
ネットワーク第6回
ネットワーク第6回ネットワーク第6回
ネットワーク第6回
Yukiko Kato
 
Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1
Ryo Ito
 
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れOAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
Takeshi Mikami
 
TwitterのBasic認証が今度こそ終わります
TwitterのBasic認証が今度こそ終わりますTwitterのBasic認証が今度こそ終わります
TwitterのBasic認証が今度こそ終わります
Daisuke Nikura
 
Twitter API で学ぶ OAuth
Twitter API で学ぶ OAuthTwitter API で学ぶ OAuth
Twitter API で学ぶ OAuth
Takeru Ujinawa
 
アイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connectアイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connect
Shinichi Tomita
 
OAuthで気持ちのいい アクセス制御を
OAuthで気持ちのいいアクセス制御をOAuthで気持ちのいいアクセス制御を
OAuthで気持ちのいい アクセス制御を
Kousuke Ebihara
 
OAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationOAuth 2.0 MAC Authentication
OAuth 2.0 MAC Authentication
Ryo Ito
 
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティOAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
Taichi Inaba
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
 
091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou
Ryo Ito
 
kitproライトニングトーク
kitproライトニングトークkitproライトニングトーク
kitproライトニングトーク
Taichi Kimura
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
 
ID & IT 2013 - OpenID Connect Hands-on
ID & IT 2013 - OpenID Connect Hands-onID & IT 2013 - OpenID Connect Hands-on
ID & IT 2013 - OpenID Connect Hands-on
Nov Matake
 
OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①
iPride Co., Ltd.
 
ネットワーク第6回
ネットワーク第6回ネットワーク第6回
ネットワーク第6回
Yukiko Kato
 
Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1
Ryo Ito
 

スライドで理解するOAuth 2.0