SlideShare a Scribd company logo
1 of 24
OAuth認証とは?
※ちなみに、オース認証と呼びます。
そもそもOAuthとは?
簡単にいえば、あるサービスYのユーザーの、外部サービスXで受け
渡した情報や手に入れた情報を、あるサービスYに、情報を受け渡す
ための仕様である。



            ユーザーの
            個人情報など


サービスX                サービスY
OAuthには現在、
OAth1.0とOAuth2.0の仕様がある。

しかし、あまり大差がないので、
今回は、よく使われていて、最
新の仕様である、Outh2.0を中心
に説明。
では、OAuth認証とは?
情報を受け渡すときに、
  ユーザーは、必ず認証を行う。

これは、サービスYに個人情報を与えるこ
  とを許可するために行われる。
        認証

サービスX        サービスY



 この認証を、OAuth認証とい
Facebookの場合のOAuth認証画面




           ここでユーザーに許可をとらせている。
情報を受け渡すサービスXは、
次のようなサービスがある。
情報受け取るサービスYは、
数えきれないほどあり、次のようなものがあ
         る。
サービスYのように、
OAuth認証を利用するメリット
会員サイトなどの、個人情報を扱うサービスの場合、
会員情報を登録しないといけない。

しかし、Facebookなどの既存のサービスを利用して、
個人情報を得る事ができれば、ユーザーが、フォーム
で個人情報を入力する手間を省くことができる。

また、ユーザーがログイン時も、メールアドレスやパ
スワードを入力する手間を省く事ができる。



  ユーザーの手間を省く。
会員登録の場合。
 Oauth認証を使わずに、ユーザーに個人情報を入力してもらう場合。

会員登録ボタン               会員情報の入力
Oauth認証を使い、ユーザーに個人情報をFacebookなど
の外部サービスからとってくる場合。




     会員登録がワンクリックでできる。
ログインの場合。


Outh認証な         Outh認証あ
し               り




    ユーザーからしたら、右のほうが楽。
具体的なOAuth認証の流れ。

Facebookを利用した場合の実装で、
         PHPで説明。
①Facebook developerでアプリ登録をする。




ここで手にはいる、①アプリIDと、②アプリSECRETの2つを実装の時
に使う。
②サービスにFacebookログインボタンをつける。




 クリックしたら、redirect.phpを実行する。
③Facebookにユーザーをリダイレクトさせる。




          リダイレク
          ト
サービスY
Facebookにリダイレクトするための具体的な実
装




リダイレクトurlには、2つのパラメーターをつける。
・アプリID
・Facebookに戻すときのcallbackURL。
③Facebookにリダイレクトされたユーザーが認証を
      して、情報を受け渡すかを決める。



どうしよ。。
④ユーザーが認証して、ユーザーは、Facebookか
    ら、サービスに戻ってくる。




サービスY
⑤ユーザーがサービスに戻ってくると同時
に、FacebookがcallbackURLに、リクエスト
トークンをパラメーターとしてつけてくる。




        リクエストトークン

サービスY
リクエストトークンとは、
個人情報を取得するために必要なアクセストー
クンを得るためのものである。
PHPだと、$_GET[‘code’] で取得可能。
⑥サービス側が、Facebookとやりとりして、
リクエストトークンを使って、アクセストークンを
           得る。



        リクエストトーク
        ン


サービスY

         アクセストークン
具体的には、FacebookのリダイレクトURLに、次のパラメー
ターをつけて、FacebookにGETかPOSTで送る。
①アプリID
②アプリSECRET
③リクエストトークン
④callbackURL




 変数$access_tokenに、アクセストークンが格納され
⑦アクセストークンを利用して、ユーザーの情報を
          得る。


        アクセストークン



サービスY

        ユーザーの情報
ユーザーの個人情報を得る場合、https://graph.facebook.com/me
に、
①アクセストークンと、②得たい情報の2つをつけ、それをJSONで
得る。




 上の場合、ユーザーのname名前と、picture写真の2つの情報
 が手に入り、変数$meに情報が手に入る。


 以上が、OAuth認証の流れ。

More Related Content

What's hot

2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」 2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
dstn
 
OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devloveOAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devlove
Nov Matake
 
100121 Scis2010 Itoh
100121 Scis2010 Itoh100121 Scis2010 Itoh
100121 Scis2010 Itoh
Hiroki Itoh
 
OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Foundation Japan
 
Microsoft Identity Technology / Kantara Initiative Seminar 2011
Microsoft Identity Technology / Kantara Initiative Seminar 2011Microsoft Identity Technology / Kantara Initiative Seminar 2011
Microsoft Identity Technology / Kantara Initiative Seminar 2011
Naohiro Fujie
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
Nov Matake
 

What's hot (20)

2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」 2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
 
OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devloveOAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devlove
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
 
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
 
OAuth2基礎知識
OAuth2基礎知識OAuth2基礎知識
OAuth2基礎知識
 
API提供におけるOAuthの役割 #apijp
API提供におけるOAuthの役割 #apijpAPI提供におけるOAuthの役割 #apijp
API提供におけるOAuthの役割 #apijp
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
 
Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403
 
[SC07] Azure AD と Ruby で学ぶ OpenID Connect!
[SC07] Azure AD と Ruby で学ぶ OpenID Connect![SC07] Azure AD と Ruby で学ぶ OpenID Connect!
[SC07] Azure AD と Ruby で学ぶ OpenID Connect!
 
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
 
認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向
 
100121 Scis2010 Itoh
100121 Scis2010 Itoh100121 Scis2010 Itoh
100121 Scis2010 Itoh
 
LINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルーLINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルー
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
 
OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7
 
Microsoft Identity Technology / Kantara Initiative Seminar 2011
Microsoft Identity Technology / Kantara Initiative Seminar 2011Microsoft Identity Technology / Kantara Initiative Seminar 2011
Microsoft Identity Technology / Kantara Initiative Seminar 2011
 
ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
 
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideAuthlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
 

Similar to OAuth認証について

kitproライトニングトーク
kitproライトニングトークkitproライトニングトーク
kitproライトニングトーク
Taichi Kimura
 
Opauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証についてOpauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証について
松本 雄貴
 

Similar to OAuth認証について (20)

kitproライトニングトーク
kitproライトニングトークkitproライトニングトーク
kitproライトニングトーク
 
PFI Seminar 2012/02/24
PFI Seminar 2012/02/24PFI Seminar 2012/02/24
PFI Seminar 2012/02/24
 
「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ
 
OAuth2.0完全に理解した_.pdf
OAuth2.0完全に理解した_.pdfOAuth2.0完全に理解した_.pdf
OAuth2.0完全に理解した_.pdf
 
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
 
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
 
O Auth
O AuthO Auth
O Auth
 
Microsoft BPOS 購入手順書 (新規購入編)
Microsoft BPOS 購入手順書 (新規購入編)Microsoft BPOS 購入手順書 (新規購入編)
Microsoft BPOS 購入手順書 (新規購入編)
 
Opauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証についてOpauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証について
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
 
Go_SaaS-Auth0-20190920
Go_SaaS-Auth0-20190920Go_SaaS-Auth0-20190920
Go_SaaS-Auth0-20190920
 
初めてのAuth0ハンズオン
初めてのAuth0ハンズオン初めてのAuth0ハンズオン
初めてのAuth0ハンズオン
 
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
 
Open ID Connect(OIDC)をスライド形式で理解する
Open ID Connect(OIDC)をスライド形式で理解するOpen ID Connect(OIDC)をスライド形式で理解する
Open ID Connect(OIDC)をスライド形式で理解する
 
ソーシャルログイン5分クッキング
ソーシャルログイン5分クッキングソーシャルログイン5分クッキング
ソーシャルログイン5分クッキング
 
OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可
 
Developer summit 2019_summer
Developer summit 2019_summerDeveloper summit 2019_summer
Developer summit 2019_summer
 
Financial-grade API Hands-on with Authlete
Financial-grade API Hands-on with AuthleteFinancial-grade API Hands-on with Authlete
Financial-grade API Hands-on with Authlete
 
Spring12新機能webinar
Spring12新機能webinarSpring12新機能webinar
Spring12新機能webinar
 
祝!公式サポート Auth0 + LINE Login
祝!公式サポート Auth0 + LINE Login祝!公式サポート Auth0 + LINE Login
祝!公式サポート Auth0 + LINE Login
 

Recently uploaded

Recently uploaded (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

OAuth認証について