SlideShare a Scribd company logo
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

OAuth認証について